AWS Elastic Beanstalk:我是不是必须使用完整的“/node_modules”和“/bower_components”部署我的应用程序并编译 sass 和其他依赖项?
Posted
技术标签:
【中文标题】AWS Elastic Beanstalk:我是不是必须使用完整的“/node_modules”和“/bower_components”部署我的应用程序并编译 sass 和其他依赖项?【英文标题】:AWS Elastic Beanstalk: Do I have to deploy my app with full "/node_modules" and "/bower_components" and compiled sass and other dependencies?AWS Elastic Beanstalk:我是否必须使用完整的“/node_modules”和“/bower_components”部署我的应用程序并编译 sass 和其他依赖项? 【发布时间】:2016-03-01 09:49:08 【问题描述】:我不了解 AWS Elastic Beanstalk 在 Node.js 应用程序方面的工作方式。 Node.js 开发的最佳实践表明,不必将/node_modules
或/bower_components
或其他第三方包推送到版本控制系统(例如GitHub),只需package.json
。所有/node_modules
必须在.gitignore
中。然后任何人都可以执行npm install
或bower install
并安装所有依赖项。 sass
也是如此 - 为生产环境编译它们。
好的,但是 AWS Elastic Beanstalk 呢?如何创建我的 Node.js 应用程序的源包?我是否必须提交完整的/node_modules
和/bower_components
,然后与他们制作.zip
捆绑包?但是我的 HEAD 提交没有/node_modules
,因为/node_modules
在.gitignore
中。所以.zip
bundle 中不会有任何依赖:
git archive --format=zip HEAD > app.zip
或者在我将app.zip
部署到 AWS Elastic Beanstalk 之后,我是否可以选择安装所有依赖项?
或者在我上传 app.zip
包后,AWS Elastic Beanstalk 会立即在后台执行 npm install
?
【问题讨论】:
【参考方案1】:在使用 got 部署应用程序时,Elastic Beanstalk 会运行一些 npm 命令。几个月前我做了一个little experiment。
简而言之,你可以使用npm install
来部署你的依赖,然后使用npm prestart
来构建和编译sass之类的东西。
【讨论】:
以上是关于AWS Elastic Beanstalk:我是不是必须使用完整的“/node_modules”和“/bower_components”部署我的应用程序并编译 sass 和其他依赖项?的主要内容,如果未能解决你的问题,请参考以下文章
AWS OpsWorks 中是不是有类似的 Elastic Beanstalk 工作程序层模式
HTTPS Elastic Beanstalk (AWS) 到 Android
使用 AWS Elastic Beanstalk 进行部署时,是不是应该将静态文件存储在单独的 S3 中?