2012-12-02 10 views
5

アプリケーションが正常にローカルで動作しているので、コードが動作することがわかります。しかし、ノードjitsuにデプロイすると、ローカルモジュールが見つからないというエラーが表示されます。ここで私が持っているものです。ノードjitsuがローカルモジュールを見つけることができません

ファイルの設定:

/index.js 
/config/config.js 

index.js

var cfg = require('./config/config.js'); 

ノード実印を展開しようとすると、私にエラーを与えているとき:

Error: Cannot find module './config/config.js' 

このコードはすべて私はこれがコーディングの問題だとは思わない。私はローカルモジュールがpackage.jsonに含まれる必要はないが、おそらくノードjitsuのために行うという印象を受けていますか?私は彼らの文書を読んだが、ローカルモジュールのために特別なものは見つけられなかった。

ありがとうございます!

答えて

10

このようなローカルモジュールは、.gitignoreまたは.npmignoreにない限り、正しく動作するはずです。

node_modulesディレクトリのモジュールは、package.jsonファイルのbundledDependenciesアレイに追加する必要があります。

ファイルが配備に含まれているかどうかを確認する簡単な方法は、tar -tf $(npm pack)を実行することです。

+0

.gitignoreにはconfig.jsファイル名が記載されています。 .gitignoreからそれを削除すると、問題が解決しました。ありがとう! – nwkeeley

+2

'.npmignore'ファイルを' .gitignore'のままにして排他的に許可したい場合は、 '.npmignore'ファイルを追加することもできます。 '.npmignore'は' .gitignore'と同じ書式に従うので、単純な '!/ config/config.js'が動作するはずです。 – Sly

3

私は展開時に全く同じエラーが発生しましたが、根本原因が異なるためです。

ファイルの設定:

var target = require('./public/data/TargetData.js'); 

私のローカルのMac OSX環境での大文字小文字の違いを許可:

/public/Data/TargetData.js 

app.jsは声明必要とする場合には誰もが同じ問題につまずきます/data//Data/ - Nodejitsuサーバーではありませんでした。

+0

これを投稿してくれてありがとう、時間の束を救った。 –

関連する問題