我有一个成功在本地工作的应用程序,所以我知道代码有效。但是,当我去部署到节点jitsu时,我收到一个错误,它无法找到本地模块。这就是我所拥有的:
文件设置:
/index.js
/config/config.js
index.js
var cfg = require('./config/config.js');
尝试部署节点时,jitsu给出了一个错误:
Error: Cannot find module './config/config.js'
由于所有这些代码都在本地工作,我不相信这是一个编码问题。我的印象是本地模块不需要包含在package.json中,但也许它们可以用于节点jitsu?我阅读了他们的文档,但找不到本地模块的任何特殊内容。
谢谢!
答案 0 :(得分:11)
这样的本地模块应该可以正常工作..只要你没有.gitignore
或.npmignore
。
node_modules
目录中的模块要求您将其添加到bundledDependencies
文件中的package.json
数组中。
检查文件是否包含在部署中的简便方法是运行tar -tf $(npm pack)
。
答案 1 :(得分:3)
我在部署时遇到了同样的错误,但是由不同的根本原因引起。如果有人遇到同样的问题:
文件设置:
/public/Data/TargetData.js
app.js需要声明:
var target = require('./public/data/TargetData.js');
我的本地Mac OSX环境允许/data/
与/Data/
的大写差异 - Nodejitsu服务器没有。