2016-03-22 6 views
0

マイプロジェクトツリーは次のようになります。 const UserStore = require('./models/UserStore');Nodejsエラー:</p> <p><code>models/userStore.js</code></p> <p><code>index.js</code></p> <p>私は、次のコマンドを使用してindex.jsにユーザー情報をエクスポートしています:モジュールを見つけることができません。.. EC2

ローカルマシンで正常に動作しています。私がec2でアップロードすると、次のエラーが発生しています。

module.js:341 
    throw err; 
    ^

Error: Cannot find module '../models/UserStore' 
    at Function.Module._resolveFilename (module.js:339:15) 
    at Function.Module._load (module.js:290:25) 
    at Module.require (module.js:367:17) 
    at require (internal/module.js:16:19) 
    at Object.<anonymous> (/home/ec2-user/test/dist/index.js:13:17) 
    at Module._compile (module.js:413:34) 
    at Object.Module._extensions..js (module.js:422:10) 
    at Module.load (module.js:357:32) 
    at Function.Module._load (module.js:314:12) 
    at Function.Module.runMain (module.js:447:10) 

index.js

'use strict'; 

const Hapi = require('hapi'); 
const HapiSwagger = require('hapi-swagger'); 
const server = new Hapi.Server(); 
const Joi = require('joi'); 
const jwt = require('jsonwebtoken'); 
const db = require('./db'); 
const UserStore = require('./models/UserStore'); 
UserStore.initialize(); 
const user = UserStore.users; 

server.connection({port: 3000}); 
server.register(require('./plugins/plugins.js')); 

server.register([ 
    { 
     'register': HapiSwagger  
    } 
    ], (err) => { 
     server.start((err) => { 
      if (err) { 
       console.log(err); 
      } else { 
       console.log('Server running at:' + server.info.uri); 
      } 
     }); 
    }); 


var validate = function (request, decodedToken, callback) { 
    var user = UserStore.users[decodedToken.email]; 
    if (!user) { 
     return callback(null, false); 
    } 
    return callback(null, true, user); 
}; 

server.register(require('hapi-auth-jwt'), function() { 
    server.auth.strategy('token', 'jwt', { key: privateKey, 
             validateFunc: validate, 
             verifyOptions: { algorithms: [ 'HS256' ] } 
             }); 
    server.route(require('./routes/endpoints/routes.js')); 
}); 
+0

'' NODE_PATH'値をテストするindex.js' 'の初めにはconsole.log(process.envを)'を追加します。 –

+0

例外、plsの完全なスタックを追加します。 'module.js:341 throw err;だけでなく、^' –

+0

が完全な例外を追加しました。 – Lutfor

答えて

0

私は問題を修正しました。問題は私のファイル名が(userStore)であり、私が(UserStore)を使用してエクスポートしたときでした。 Macは大文字と小文字を区別しないため、ローカルで正常に動作しています。 Linuxのファイルシステムでは大文字と小文字が区別されるため、このエラーが発生します。

詳細:Can I force node.js require to be case sensitive?

関連する問題

 関連する問題