ember.js - 为什么 ember-cli 这么慢

标签 ember.js ember-cli

我将 grunt 项目迁移到 ember-cli,发现从文件修改到 liveload 完成的时间很长,大约 10 分钟。

我安装了ember-cli-windows、ember-cli-windows-addon后,没有得到明显的提示。以下是安装 ember-cli-windows、ember-cli-windows-addon 后的一个示例输出:

file changed routes\services.js

Build successful - 382781ms.

Slowest Trees                                 | Total
----------------------------------------------+---------------------
Babel                                         | 82175ms
Concat: Vendor                                | 75980ms
Funnel: App JS Files                          | 57393ms
JSHint app- QUnit                             | 49491ms
ES6: App Tree                                 | 41827ms

Slowest Trees (cumulative)                    | Total (avg)
----------------------------------------------+---------------------
Babel (2)                                     | 82394ms (41197 ms)
Concat: Vendor (1)                            | 75980ms
Funnel: App JS Files (1)                      | 57393ms
JSHint app- QUnit (1)                         | 49491ms
ES6: App Tree (1)                             | 41827ms

相比之下,在 grunt 项目中,文件修改后的构建过程可以在 2~3 秒内完成。

我用的是windows 7。

最佳答案

对于 Windows 用户,需要正确启用符号链接(symbolic link)。正如我们在 Microsoft 的 friend 实际上是 ember 和 ember-cli 的活跃用户。他们提供了一个可以做到这一点的插件。
见:http://ember-cli.com/user-guide/#windows了解更多详情。
对于所有用户,请参阅:https://github.com/ember-cli/ember-cli/blob/master/docs/perf-guide.md
[更新]
在过去的 6 个月中,已经取得了几项重大的性能改进,有些看到了一两个数量级的改进(显然这取决于某些因素......)
随着时间的推移,计划进行更多的性能改进,其中一项特别重要的是将依赖符号链接(symbolic link)或复制的需求解耦。这应该让我们的 Windows 同行(以及那些驱动器较慢的人)非常高兴。
对于目前感觉他们看到的性能不如最佳性能的任何人,让我推荐这个指南:https://github.com/ember-cli/ember-cli/blob/master/docs/perf-guide.md
最近的许多改进都是以向后兼容的方式完成的,但确实需要升级依赖项,一定要升级相关的依赖项,并使用该指南来追踪任何剩余的问题并报告它们。

Windows 子系统 Linux 现在似乎也运行良好!

关于ember.js - 为什么 ember-cli 这么慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29712294/

相关文章:

javascript - 当模型内部的属性发生变化时如何更新 DOM 元素?

javascript - EmberJS-在 Handlebars 模板内添加动态数据属性

javascript - ember.js - 从任何 Controller 观察到的更新模板

javascript - 用于重用的 Ember DRY 模式 "Ember.computed.alias"

ember.js - Ember CLI代码覆盖率报告

javascript - ember-power-select 中的自定义选项和第一个选项

jquery - 分页动画 Ember 集合

ember.js - 如何解决不要使用Ember的函数原型(prototype)扩展

javascript - Ember CLI Hook /事件错误

javascript - 没有 div 包装器的 Ember 模板