web-dev-qa-db-ja.com

Nodejsでモジュールが見つかりません

module.js:340
    throw err;
          ^
Error: Cannot find module './models/todo'
    at Function.Module._resolveFilename (module.js:338:15)
    at Function.Module._load (module.js:280:25)
    at Module.require (module.js:364:17)
    at require (module.js:380:17)
    at Object.<anonymous> (C:\Users\Basel\Desktop\Todo List\routes\api.js:1:74)
    at Module._compile (module.js:456:26)
    at Object.Module._extensions..js (module.js:474:10)
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:312:12)
    at Module.require (module.js:364:17)

C:\Users\Basel\Desktop\Todo List>

このアプリケーションが起動しないのはなぜですか?私はすでにグローバルなnpmインストールを試しました。

17
user2993058

./models/todo、ピリオドは、ノードが同じフォルダーを検索することを示しますapi.jsが入っており、\Todo List\routes\models\todo.js。これは、アプリケーションのルートからは開始されません。これを要求するには、レベルを上げるために2つの期間が必要であり、アプリパスも指定する必要があります。

var todo = require('../app/models/todo');
31
matth

システム値を設定しなかった可能性があります:NODE_PATH;グローバルモジュールの場所を指す必要があります。

linuxの場合:export NODE_PATH=/usr/local/lib/node_modules/は私に適しています。

14
Chopper Lee