2016-03-22 27 views
0

Projem ağaç aşağıdaki gibi görünecektir olduğunu EC2 .. modül bulunamıyor:Nodejs:

models/userStore.js

index.js

aşağıdaki komutu kullanarak index.js kullanıcı bilgilerini ihraç ediyorum. const UserStore = require('./models/UserStore');

Yerel makinemde çalışıyor. Ec2'ye yüklediğimde, aşağıdaki hatayı alıyorum.

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

Ekle 'console.log (process.env)' 'index.js' başında bir' NODE_PATH' değerini test etmek. –

+0

Kural dışı durumun tamamını ekleyin, lütfen. Sadece 'module.js: 341 atım hatası;^' –

+0

tam istisnayı ekledi. – Lutfor

cevap

0

Sorunu düzeltildi. Sorun dosya dosyamdı (userStore) ve dışa aktardığımda kullanıyorum (UserStore). Mac, büyük/küçük harf duyarsız olduğundan, yerel olarak iyi çalışıyor. Linux dosya sistemi büyük/küçük harf duyarlı olduğundan, bu hatayı atar.

fazla ayrıntı: Can I force node.js require to be case sensitive?