kif*_*ord 8 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
Run Code Online (Sandbox Code Playgroud)
相比之下,在文件修改后的grunt项目中,构建过程可以在2~3秒内完成.
我用的是Windows 7.
小智 24
你问
为什么ember-cli这么慢
它本身并非缓慢,它是Broccoli.原因包括:
Broccoli在Windows下复制文件而不是符号链接.要避免这种情况,请在具有管理员权限的命令提示符下运行构建.
西兰花是磁盘密集型的.要解决这个问题,请购买SSD.
西兰花是处理器密集型的.要解决此问题,请获得更快的机器(最好是非Windows).
Broccoli会创建大量临时文件tmp,这会降低性能.要解决这个问题,请tmp不时清理.
众所周知,西兰花本身就很慢.您可以在西兰花网站上找到相关问题.要解决这个问题,请等待西兰花人解决性能问题,这是他们的路线图.已经进行了大量改进,因此升级到最新版本的所有内容.
西兰花一遍又一遍地重建所有东西,包括没有改变的东西.要解决此问题,请手动调整构建过程以排除某些内容并根据需要手动执行.例如,假设您正在通过凉亭引入一个200KB的外部JS软件包,并将app.import其放入您的软件包中Brocfile.js.作为临时解决方案,并查看它是否有所作为,从Broccoli世界中删除该文件并直接加载它index.html.这同样适用于大型CSS文件.
西兰花将在默认安装中运行babel.巴别塔并不那么慢,但确实需要时间.要解决此问题,如果您不使用ES6语法,请删除babel依赖项.
您的病毒扫描程序可能正在尝试扫描Broccoli创建的数千个文件.ember-cli-windows仅针对后卫处理此问题.如果您使用的是其他防病毒软件包,要解决此问题,请将您的开发目录添加到要跳过的位置列表中.
作为参考,我有一个小型的Ember项目,我在带有SSD的快速机器上安装了Windows主机的Ubuntu Virtual Box VM,并且构建需要2-3秒.
您可能还想考虑在ember-cli列表中询问此问题.您还可以选择一个不会在不成熟且低效的构建系统中烘焙的不同框架.
对于 Windows 用户,需要正确启用符号链接。因为我们在 Microsoft 的朋友实际上是 ember 和 ember-cli 的活跃用户。他们提供了一个插件来做到这一点。
有关更多详细信息,请参阅:http : //ember-cli.com/user-guide/#windows。对于所有用户,请参阅:https : //github.com/ember-cli/ember-cli/blob/master/docs/perf-guide.md
[更新]
在过去的 6 个月中,几个重大的性能改进已经落地,有些改进了一两个数量级(显然这取决于某些因素......)
随着时间的推移,计划进行更多的性能改进,其中一项特别重要的改进是消除对符号链接或复制的依赖。这应该让我们的 Windows 同行(以及那些驱动器较慢的人)非常高兴。
对于目前感觉他们看到的性能低于最佳性能的任何人,让我推荐本指南:https : //github.com/ember-cli/ember-cli/blob/master/docs/perf-guide.md
最近的许多改进都是以向后兼容的方式完成的,但确实需要升级依赖项,确保升级相关的依赖项,并使用该指南来跟踪任何剩余的问题并报告它们。
Windows 子系统 Linux 现在似乎也运行良好!
| 归档时间: |
|
| 查看次数: |
5431 次 |
| 最近记录: |