簡體   English   中英

Webpack的UglifyJsPlugin對包含let的Node模塊拋出錯誤

[英]Webpack's UglifyJsPlugin throws error with Node modules containing let

這是相關的代碼(我正在使用Vue.js的Webpack官方模板):

.babelrc:

"presets": [
  "babel-preset-es2015",
  "babel-preset-stage-2",
]

webpack.prod.config.js

new webpack.optimize.UglifyJsPlugin({
  compress: {
    warnings: false,
    drop_console: shouldDropConsole
  },
  sourceMap: true
}),

這是我執行npm run build時遇到的錯誤:

來自UglifyJs的static / js / vendor.a6271913414e87e123c2.js中的錯誤意外令牌:名稱(_months)[./node_modules/calendar-js/index.js:56,0][static/js/vendor.a6271913414e87e123c2.js:90602, 6]

這是違規行:

let _months = MONTHS;

(如果我將所有的let替換為var那么項目構建就沒有問題。而且const似乎不會打擾Webpack / UglifyJS。)

我是否需要配置一些東西,以便Webpack / UglifyJS構建包含let的節點模塊? (在我的實際項目中, let沒有遇到任何問題。)

這可能是因為您使用的node版本可能不支持es6語法。

letconst ,arrow函數等是es6語法的一部分。 要了解更多信息,請點擊此鏈接http://es6-features.org/

您的其他項目可能需要較舊版本的node ,因此請安裝nvm。 NVM是節點版本管理器,它將幫助您輕松地在節點版本之間切換。 遵循文檔和安裝過程的鏈接https://github.com/creationix/nvm

Node v6 +支持ES6語法,請嘗試將其升級。

UPDATE

關於此答案的評論,已確認這不是版本問題,並通過遵循此GitHub問題線程https://github.com/joeeames/WebpackFundamentalsCourse/issues/3得以解決。

和平!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM