如何使用 Ember CLI 进行生产就绪构建?
Posted
技术标签:
【中文标题】如何使用 Ember CLI 进行生产就绪构建?【英文标题】:How to make a production ready build using Ember CLI? 【发布时间】:2015-06-09 06:06:16 【问题描述】:我一直在用 Ember 构建一个 Web 应用程序,并准备将它放在服务器上供公众使用。我只想制作 /dist/ 文件夹,然后我将通过 FTP 手动上传到服务器。
如何在 Ember 中为此构建一个 dist?我不知道如何打开缩小并从构建中删除测试文件。
我猜它与我的 Brocfile.js、bower.json、package.json、environment.js 或 tester.json 文件有关,但我真的不知道是哪一个,或者那个配置会是什么看起来像。
奖励:我也想知道如何禁用/启用缩小,因为我想与同事分享我的生产版本以查看。
应该不仅仅是“ember build --environment production”。我需要更改哪些文件以启用/禁用 minfication,包括测试等?或者这就是“ember build --environment production”的作用?
谢谢!
【问题讨论】:
ember build --environment=production
Building with ember CLI in production environment 的可能重复项
为什么要多于那个命令?你读过docs 吗? Minification
@Kitler,好的,这样就进入了 brocfile 的 if 语句中?测试呢?
在生产模式下运行构建时排除测试。
【参考方案1】:
创建dist
文件夹所需要做的就是运行:
ember build --environment=production
或者正如@Simon 提到的那样
ember build -prod
但是要给骨头加点肉:
如果您需要更改设置,您可以通过在 config
文件夹中找到您的 environment.js
文件来执行此操作。
Ember 文档建议更改 locationType: 'hash'
以确保历史记录与路由器正常工作。
您有一个看起来像这样的部分,您可以在其中添加 ENV.theVariableToSet = 'myValue';
以进行任何您想要更改的内容
if (environment === 'production')
ENV.locationType = 'hash'
【讨论】:
我希望是ember build production
您也可以使用ember build -prod
,因为-prod
被ember-cli 别名为--environment=production
。不像ember build production
那么优雅,但更短一些。【参考方案2】:
对于任何寻找的人,您都可以将其添加到您的 Brocfile.js(在应用根目录中)
// When in Production mode, minify code
if (app.env === 'production')
minifyCSS:
enabled: true
minifyJS:
enabled: true
然后在终端中运行这个命令(确保你在你的 App 目录中):
ember build --environment=production
【讨论】:
使用生产环境构建时,压缩应该由ember-cli
自动完成。
同意。此代码是不必要的(冗余)。运行命令就是缩小 CSS 和 JS 所需的全部内容。除非您对默认配置进行了修改,否则这是默认配置。
第一个代码块在语法上也不是正确的javascript。您正在将语句与看起来像部分对象文字的内容混合在一起。以上是关于如何使用 Ember CLI 进行生产就绪构建?的主要内容,如果未能解决你的问题,请参考以下文章
为啥我的 ember-cli 构建时间在 Windows 上如此缓慢?
如何在 Angular cli 中启用 gzip 压缩以进行生产构建