2016-11-11 107 views
0

在慣例,當我們寫一個ES6模塊,我們把源代碼src文件夾,並使用babel-loaderwebpacklibdist文件夾設置代碼ES5編譯它,並設置main進入dist文件夾,然後發佈到NPM 。與ES6模塊相比,ES5模塊是否支持webpack構建時間?

一方面,用戶可以在不使用webpack的情況下使用該模塊,並且代碼可以運行。另一方面,使用webpack時,ES5代碼可能會減少babel-loader時間,因爲它已經是ES5代碼。

我困惑什麼是第二點,使用的WebPack時,不會在node_module ES5代碼減少babel-loader時間,所以我們可以accelate的WebPack建立績效?

問題幾乎就是關於具有webpack構建性能的ES5 npm模塊,儘管這是一個我們已經做過的約定,我只想了解一些關於webpack構建性能的內容。謝謝!

+0

如果代碼已經是ES5,並且不必從ES6轉換爲ES5,那麼看起來合乎邏輯的是性能會更好,因爲它不必轉換。然而,代碼仍然需要解析和遍歷(我猜),所以性能差異是否有任何意義取決於具體情況。 –

回答

1

是的,一般來說,公共軟件包會與已經轉換的源一起分發。性能優勢,關於的WebPack和babel-loader,就是可以消費這些來源,是不必與babel-loader對其進行處理,所以你會看到常用的:

{ 
    test: '\.js$', 
    loader: 'babel', 
    exclude: ['node_modules'] 
} 

所以,我也感到困惑這段摘錄,特別是爲什麼人們想要與Babel解析ES5代碼,因爲最終不會發生轉換。

無論哪種方式,源代碼總是由Webpack解析,而不必解析,事先用babel-loader進行轉換,應該可以提高性能。