我不了解Node.js应用程序中AWS Elastic Beanstalk的工作方式。 Node.js开发的最佳实践表明,不必将/node_modules/bower_components或其他第三方软件包推送到版本控制系统(例如GitHub),只需将package.json推送到。所有这些/node_modules必须在.gitignore中。然后任何人都可以执行npm installbower install并安装所有依赖项。对于sass同样如此-编译它们以用于生产环境。

好的,但是AWS Elastic Beanstalk呢?我如何创建Node.js应用程序的源包?我是否必须提交FULL /node_modules/bower_components,然后将它们与.zip捆绑在一起?但是我的HEAD提交没有/node_modules,因为/node_modules.gitignore中。因此,.zip捆绑包中将没有依赖项:

git archive --format=zip HEAD > app.zip


还是在将app.zip部署到AWS Elastic Beanstalk之后是否可以选择安装所有依赖项?

还是在我上载npm install捆绑包之后,AWS Elastic Beanstalk会立即在引擎盖下的某个位置执行app.zip吗?

最佳答案

使用got部署应用程序时,Elastic Beanstalk运行一些npm命令。几个月前我做了little experiment

简而言之,您可以使用npm install部署您的依赖项,然后使用npm prestart来构建和编译sass之类的东西。

07-28 07:11