使用@now/node-server,我试图实现这一点:
const myLocalLibrary = require('@src/lib/myLocalLibrary');而不是
const myLocalLibrary = require('../../../lib/myLocalLibrary');问题是我尝试了很多不起作用的东西,包括:
设置NODE_PATH=src和使用require('src/...
不起作用,因为将NODE_PATH设置为环境没有任何效果
打补丁需要使用模块别名(https://www.npmjs.com/package/module-alias)
在本地工作,在Zeit上失败,因为node无法找到使用该模块的任何文件。
我使用:
require("module-alias").addAlias("~", __dirname);有什么方法可以做到这一点吗?
发布于 2019-05-09 04:21:30
您可以使用this
"build": {
"env": {
"NODE_PATH": "src/"
}
}发布于 2019-07-28 06:32:51
你的解决方案现在不能在ZEIT上构建的原因可能是它只在运行时工作,现在需要在构建时解析路径。您可以尝试使用像described here这样的babel-plugin-root-import。
或者,如果您只想在Next.js和ZEIT Now中使用绝对导入,请参阅this question。
https://stackoverflow.com/questions/53746639
复制相似问题