我对 AWS Beanstalk 部署的整体工作流程感到好奇。我假设它在某个时刻运行 npm 来将软件包安装在服务器上。但我只是想知道 AWS Beanstalk 是否使用最新的“npm install --product”命令来安装软件包。目前我有一个如下所示的packages.json 文件,并希望确保如果可能的话,仅安装依赖项而不是devDependency。
"dependencies": {
"express": "3.4.4",
"jade": "*",
"restify": "~2.6.0",
"assert": "~1.0.0",
"orchestrate": "0.0.2",
"chance": "~0.5.3"
},
"devDependencies": {
"mocha": "~1.15.1"
}
您可以运行 AWS Elastic Beanstalknpm install
在生产模式下如果设置环境变量NPM_CONFIG_PRODUCTION=true
。您可以通过 Elastic Beanstalk Web 控制台执行此操作。
或者,将以下文本保存到任何带有后缀的文件中.config
在一个名为的目录中.ebextensions
在项目根目录中,您可以实现相同的效果,而无需每次都在 Web 控制台中进行设置:
option_settings:
- option_name: NPM_CONFIG_PRODUCTION
value: true
注意:确保您使用的是空格,而不是制表符,因为它是 YAML 格式。
我发现在 t1.micro 环境中更新新的 Node.js 代码的时间从大约 5 分钟减少到 90 秒,因为它没有安装所有 devDependency,例如 grunt、karma、mocha 等。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)