Next.js 9.4 及更高版本
如果您使用的是 Next.js 9.4 或更高版本,请参阅黑子的回答.
Next.js 9.3 及更早版本
有不同的方式实现这一点的方法,但一种方法 - 不需要额外的依赖项,也不需要太多的配置 - 是设置环境变量NODE_PATH到当前目录,即NODE_PATH=.
.
1. 使其在本地运行
我认为最简单的设置方法NODE_PATH=.
在您的中运行开发/构建脚本时package.json
本地(例如$ npm run dev
or $ yarn dev
),就是将其添加到每个脚本中package.json
:
"scripts": {
"dev": "NODE_PATH=. next",
"build": "NODE_PATH=. next build",
"start": "next start"
},
2. 部署时使其发挥作用
当您部署到ZEIT Now, NODE_PATH
必须以不同的方式设置。
您可以添加一个部署配置通过添加一个now.json
文件(它应该与您的目录位于同一目录中)package.json
)。如果你没有now.json
文件已经存在,创建它并添加以下内容:
{
"version": 2,
"build": {
"env": {
"NODE_PATH": "."
}
}
}
这告诉现在使用NODE_PATH=.
构建应用程序时(请参阅构建环境).
(它还告诉我们现在使用现在平台版本2 目前是最新版本(参见version)。省略版本将在您使用以下命令进行部署时发出警告$ now
.)