设置
使用@now/node-server
,我试图实现这一点:
const myLocalLibrary = require('@src/lib/myLocalLibrary');
代替
const myLocalLibrary = require('../../../lib/myLocalLibrary');
问题是,我尝试了很多不起作用的东西,包括:
设置NODE_PATH=src
和使用require('src/...
不起作用,因为将NODE_PATH设置为env对没有影响
修补程序需要使用模块别名(https://www.npmjs.com/package/module-alias)
在本地工作,在Zeit上失败,因为节点找不到任何使用该模块的文件。
我用过:
require("module-alias").addAlias("~", __dirname);
有什么办法可以做到这一点吗?
您可以使用此
"build": {
"env": {
"NODE_PATH": "src/"
}
}
您的解决方案未能在ZEIT Now上构建的原因可能是只在运行时工作,现在需要在构建时解析路径。您可以尝试使用babel插件根导入,如这里所述。
或者,如果您只想在Next.js和ZEITNow中使用绝对导入,请参阅此问题。