为什么我的ember-cli在windows上构建时间如此之慢?

Wes*_*ton 22 windows ember-cli

Ember-cli ember server在窗户上建造得非常慢.

Build successful - 13126ms.

Slowest Trees                  | Total
-------------------------------+----------------
TreeMerger (vendor)            | 3154ms
TreeMerger (stylesAndVendor)   | 2051ms
TreeMerger (appAndDependencies) | 1914ms
StaticCompiler                 | 1791ms
Run Code Online (Sandbox Code Playgroud)

这与在linux盒子上不到1秒的同一项目构建形成鲜明对比.

Wes*_*ton 32

有两个大罪魁祸首:

  1. 实时文件系统扫描或保护
    • Windows Defender的实时保护(在win7中也称为Microsoft Security Essentials)
    • Windows搜索索引
    • 防病毒扫描
  2. bower_components文件夹中未使用的文件

实时扫描

在构建期间./tmp,在ember项目的文件夹中生成大量文件,索引器和实时保护对每个文件进行额外读取,这增加了大量额外的文件I/O操作.

解决方法是:

这应该会使您的构建时间缩短到几秒钟.正在研究 Windows的其他速度改进,继续研究与Broccoli处理构建过程有关的问题.

管理未使用的凉亭文件

bower_components中拥有大量文件是最大的罪魁祸首.

我写了一个脚本,clean-ember-cli.js,删除除了ember-cli dependancies之外的所有内容,以及任何导入的脚本Brocfile.js.我要回到大约5秒的构建时间.

更新

报告是以管理员身份运行控制台也有帮助.

  • @Weston我发现管理员运行终端有助于进一步将构建时间从38秒减少到28秒.显然,这让ember-clie使用符号链接而不是复制文件([来自这个答案](http://stackoverflow.com/a/27610912/1438809)).也许值得添加你的答案? (3认同)
  • 嗯,我认为我的新电脑将是一个mac! (3认同)

Vin*_*mar 15

ember-cli 官方推荐改善其在Windows上的性能

使用以下命令使用节点安装ember-cli-windows

npm install -g ember-cli-windows

在项目根文件夹上运行以下命令

ember-cli-windows