簡體   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