我正在尝试整理ExpressJS应用,例如此处接受的答案。(我不使用子域,仅使用子文件夹)当前我的文件夹结构是
根(带有自己package.json的
expressjs项目)-- api(带有自己package.json的expressjs项目)--
panel(单页面应用程序)-
站点(单页面应用程序)
package.json(根文件夹package.json)
app.js(根文件夹app.js)
我在根级别的app.js就像
express()
.use(helmet())
.use(compression())
.use('/api', require('./api/app').app)
.use('/panel', express.static('./panel'))
.use('/', express.static('./site'))
.listen(port);
我在api项目中的app.js结尾为
exports.app = app;
我使用Github存储我的项目,并使用CodePipeline部署到Elastic Beanstalk。但是它不起作用,EB实例是红色的。这是从日志中得出的:(cors是api项目的依赖项)
Error: Cannot find module 'cors'
at Function.Module._resolveFilename (module.js:469:15)
at Function.Module._load (module.js:417:25)
at Module.require (module.js:497:17)
at require (internal/module.js:20:19)
at Object.<anonymous> (/var/app/current/api/app.js:3:18)
at Module._compile (module.js:570:32)
at Object.Module._extensions..js (module.js:579:10)
at Module.load (module.js:487:32)
at tryModuleLoad (module.js:446:12)
at Function.Module._load (module.js:438:3)
module.js:471
throw err;
所以我的问题是,在CodePipeline部署期间如何安装子文件夹的依赖项?
通过添加解决:
"scripts": {
...
"postinstall": "cd api && npm install"
},
和一个.npmrc文件,其中
不安全的烫发=真
在里面
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句