繁体   English   中英

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

[英]Why is my ember-cli build time so slow on windows?

Ember-cli 在 Windows 上使用ember server构建非常缓慢。

Build successful - 13126ms.

Slowest Trees                  | Total
-------------------------------+----------------
TreeMerger (vendor)            | 3154ms
TreeMerger (stylesAndVendor)   | 2051ms
TreeMerger (appAndDependencies) | 1914ms
StaticCompiler                 | 1791ms

这与在 linux 机器上在不到 1 秒内构建相同的项目形成对比。

罪魁祸首有两个:

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

实时扫描

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

解决方法是:

这将使您的构建时间缩短到几秒钟。 正在调查Windows 的其他速度改进,继续调查Broccoli 对构建过程的处理。

管理未使用的凉亭文件

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

我编写了一个脚本clean-ember-cli.js ,它删除了除 ember-cli 依赖项之外的所有内容,以及在Brocfile.js导入的Brocfile.js 我回到了大约 5 秒的构建时间。

更新

报告显示,以管理员身份运行控制台也有帮助。

来自 ember-cli 的官方推荐以提高其在 windows 上的性能

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

npm install -g ember-cli-windows

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

ember-cli-windows

请注意一件重要的事情...我没有在任何论坛上发现...如果您使用的是笔记本电脑并且没有连接交流电,Windows 可能会在低性能模式下运行以保持电池电量。 这会导致 ember build proyects 慢 4 倍

在以管理员身份运行的命令提示符下使用 ember-cli 1.13.13 为我修复了它

除了上面提供的答案运行

ember s

在管理模式的 powershell 中。 这将启用 Windows 中默认未启用的符号链接。 拥有符号链接会创建一个更扁平的 node_modules 文件夹,从而缩短运行时间。

来源

从 build 20262 Windows 10 开始有WSL 2 这是您机器上的 Linux,它为我们提供了与 Linux 一样好的性能。

从 Microsoft 商店获取最后一个 Ubuntu。

由于速度慢,请勿使用/mnt/文件夹进行 repo,请使用~文件夹。

在 Ubuntu 上连接终端并克隆您的存储库。

    cd ~
    git clone your-repo

安装节点版本管理器节点

安装 ember-cli 并启动服务器。

    npm install -g ember-cli
    cd ~/your-repo
    npm i
    ember serve

在 VSCode 安装插件“Remote - WSL”中打开你的仓库并开始开发。

在 Windows 7 中,我通过关闭项目/tmp目录的加密文件系统 (EFS) 获得了 50% 的改进。 (右键属性->高级->加密内容...)

对于提到在管理模式下运行灰烬CLI的后续版本在这里他的答案和建议的d-围棋似乎是要走的路,假设您的公司允许这样做。

如果你像我一样正在使用GIT的Bash运行灰烬,你可能有兴趣在如何将它设置为在管理模式下自动运行在这里

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM