我正在开发带有几个模块的Node应用程序。我的节点应用程序已与Babel一起转换为/dist/app
。
这是一个示例结构
.
|- main
| |- config.js
| |- factories
| | |- example.js
这是config.js:
const ex = require("/main/factories/example");
我使用启动config.js node dist/app/main/config.js
。产生的错误是:
错误:找不到模块“ / main / factories / example”;
但是,在使用const ex = require("./factories/example");
它时应该可以正常工作。
仅在Windows(测试Windows 8.1)上会出现此问题,OS X和Linux都可以。
这里有什么问题?
相反,该代码在Windows上可以按预期工作。在Windows上/main/factories/example
是指C:/main/factories/example
。由于某些原因,它可以在OSX / Linux上运行(可能设置了NODE_PATH)。我建议不要依赖副作用来拥有有效的代码,也不要使用相对路径(完全依赖于工作目录),您应该像这样构建绝对路径:
const ex = require(__dirname + "/factories/example");
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句