Express 如何在AWS代码管道部署期间安装子文件夹的依赖项?

Express 如何在AWS代码管道部署期间安装子文件夹的依赖项?,express,github,amazon-elastic-beanstalk,aws-codepipeline,Express,Github,Amazon Elastic Beanstalk,Aws Codepipeline,我正在尝试组织我的ExpressJS应用程序,在这里。(我不使用子域,只使用子文件夹)当前我的文件夹结构如下 root(带有自己的package.json的expressjs项目) --api(expressjs项目及其自己的包.json) --面板(单页应用程序) --网站(单页应用程序) package.json(根文件夹package.json) app.js(根文件夹app.js) 我的app.js在根级别类似 express() .use(helmet()) .use(compress

我正在尝试组织我的ExpressJS应用程序,在这里。(我不使用子域,只使用子文件夹)当前我的文件夹结构如下

root(带有自己的package.json的expressjs项目)
--api(expressjs项目及其自己的包.json)
--面板(单页应用程序)
--网站(单页应用程序)
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项目中的My app.js以

exports.app = app;
我使用Github存储我的项目和代码管道,以部署到Elastic Beanstalk。但它不起作用,EB实例是红色的。这来自日志:(cors是api项目的依赖项)

错误:找不到模块“cors”
在Function.Module.\u解析文件名(Module.js:469:15)
在Function.Module.\u加载(Module.js:417:25)
at Module.require(Module.js:497:17)
根据需要(内部/module.js:20:19)
反对。(/var/app/current/api/app.js:3:18)
在模块处编译(Module.js:570:32)
在Object.Module.\u extensions..js(Module.js:579:10)
在Module.load(Module.js:487:32)
在tryModuleLoad时(module.js:446:12)
在Function.Module.\u加载(Module.js:438:3)
module.js:471
犯错误;
所以我的问题是,如何在CodePipeline部署期间安装子文件夹的依赖项?

通过添加以下内容解决:

"scripts": {
  ...
  "postinstall": "cd api && npm install"
},
和一个.npmrc文件

不安全perm=true

在里面

"scripts": {
  ...
  "postinstall": "cd api && npm install"
},