Node.js AWS部署错误:找不到模块

use*_*098 4 javascript nginx amazon-web-services node.js amazon-elastic-beanstalk

我试图将一个简单的Node?JS应用程序上传到弹性beantalk。我的package.json文件中列出了所有依赖项,并且该应用程序正在通过nginx代理监听8081。

从节点日志文件中引发以下错误。模块在服务器上的放置方式是否不同?

http://127.0.0.1:8081/ module.js:471上运行的服务器抛出err; 在Function.Module._resolveFilename(module.js:469:15)处的'./routes/FtseData'(在Module.require(module.js:497:17)处在Function.Module._load(module.js:417:25)处在对象处按需(internal / module.js:20:19)。(/var/app/current/routes.js:7:20)在Module._compile(module.js:570:32)在Object.Module._extensions..js(module.js:579:10)在Module。在function.Module._load(module.js:438:3)的tryModuleLoad(module.js:446:12)处加载(module.js:487:32)module.js:471 throw err; ^

错误:在Function.Module._resolveFilename(module.js:469:15)在Module.require(module.js:Function.Module._load(module.js:417:25)处找不到模块'./routes/FtseData' :497:17),位于Object的require(internal / module.js:20:19)。(/var/app/current/routes.js:7:20)在Module._compile(module.js:570:32)在Object.Module._extensions..js(module.js:579:10)在Module。在function.Module._load(module.js:438:3)的tryModuleLoad(module.js:446:12)处加载(module.js:487:32)module.js:471 throw err; ^

这是我的server.js文件

var express = require('express');
var basicAuth = require('express-basic-auth')
var bodyParser = require('body-parser')
var cors = require('cors');
var app = express();

app.use(cors()); 

app.get('/', function (req, res) {
//    res.send('Hello World');
    res.sendFile(__dirname + '/views/index.html');
})

var routes = require('./routes');
app.use('/api', routes);


var server = app.listen(8081, function () {
   var host = server.address().address
   var port = server.address().port

   console.log("App listening at http://%s:%s", host, port)
})
Run Code Online (Sandbox Code Playgroud)

routes.js

var express = require('express');
var basicAuth = require('express-basic-auth')
var app = express();
var router = express.Router();

//var profCtrl = require('./routes/profileController');
var ftseDataCtrl = require('./routes/FtseData');
var ftseDivCtrl = require('./routes/FtseDiv');

//routes not needing auth
router.route('/FtseDivGet').get(ftseDivCtrl.get);
//routes needing auth
 router.use(basicAuth({
     users: { 'admin': 'supersecret' }
 }))
//router.route('/FtseDataScrape').get(ftseDataCtrl.scrape);
router.route('/FtseDivScrape').get(ftseDivCtrl.scrape);
//http://localhost:8081/api/profile

module.exports = router;
Run Code Online (Sandbox Code Playgroud)

package.json

{
  "name": "StockTracker",
  "version": "1.0.0",
  "description": "Stock-Tracker",
  "dependencies": {
    "express": "*",
    "express-basic-auth": "*",
    "request": "*",
    "cheerio": "*",
    "body-parser": "*",
    "cheerio-tableparser": "*",
    "cors": "*",
    "csv-load-sync": "*"        
  },
  "scripts": {
    "start": "node server.js"
  }
}
Run Code Online (Sandbox Code Playgroud)

use*_*098 5

我的文件是/routes/FtseData.js

这导致了错误

var ftseDataCtrl = require('./routes/FTSEData');
Run Code Online (Sandbox Code Playgroud)

需要匹配文件的大小写

var ftseDataCtrl = require('./routes/FtseData');
Run Code Online (Sandbox Code Playgroud)