控制台
我开始学习Next.js。当我导入Twilio时,它显示错误“fs未找到,net未找到”
./node_modules/https-proxy-agent/dist/agent.js:15:0
Module not found: Can't resolve 'net'
Import trace for requested module:
./node_modules/https-proxy-agent/dist/index.js
./node_modules/twilio/lib/base/RequestClient.js
./node_modules/twilio/lib/index.js
./components/Login/ForgotPassword.jsx
./components/Login/Login.js
./pages/login/index.js
https://nextjs.org/docs/messages/module-not-found
3条答案
按热度按时间cgfeq70w1#
从版本5开始,Webpack不包含节点库的多边形填充。
在您的next.config.js中添加以下Webpack配置就可以了:
1yjd4xko2#
我知道Next.js在客户端和服务器端都运行代码,但这看起来像是你试图在客户端使用Twilio库,Twilio库不是为在客户端使用而构建的,这是预期的行为。
如果您尝试从前端调用Twilio API,您将暴露您的帐户SID和身份验证令牌,恶意用户可能会获取这些信息并用于滥用您的帐户。
相反,您应该在服务器端调用Twilio API,并从前端向您自己的服务器发出请求。
这是我写的一个sending an SMS from React with Twilio的例子(虽然不是用Next.js),这是一篇博客文章,看起来像是展示了你应该做什么,由creating an API route in Next.js to send an SMS with Twilio。无论你希望用API做什么,这些文章应该给予你一个如何接近它的想法。
yk9xbfzb3#
您正在客户端运行代码,或者至少nextjs认为您正在客户端运行代码,尝试跟踪堆栈跟踪,看看您是如何调用导入
net
的代码的。