babel-loader配置

babel-loader配置(利用babel-loader等包實現es6轉es5語法)html

安裝node

npm install babel-core babel-loader babel-preset-es2015 babel-plugin-transform-runtime --save-dev

npm 從npm@3以後不同意自動安裝devDependencies,全部必須在package.json裏明確指定babel-core這樣的宿主依賴。webpack

 devDependencies字段,主要用來共插件指定其所須要的主軟件的版本。git

使用(有兩種用法)es6

第一種:指定query屬性github

在webpack.config.js裏配置是比較推薦的方式:web

第二種:查詢字符串的方式npm

babel-loader還支持如下選項:json

cacheDirectory:默認值是false。若是設置了這個參數,被轉換的結果將會被緩存起來。緩存

       當webpack再次編譯時,將會首先嚐試從緩存中讀取轉換結果,以此避免資源浪費。

       若是該值爲空(loader:'babel-loader?cacheDirectory'),loader會使用系統默認的臨時文件目錄

問題及優化

性能問題

1.確保只轉換儘量少的文件,你可能匹配了過多的文件類型,或者匹配了全部的‘.js’文件,你須要使用

 exclude:/(node_modules|bower_components)/    //排除部分目錄

2.設置cacheDirectory參數也能夠讓你的loader性能提高2倍 

babel 給每一個須要的文件注入helper擴展

您能夠改成要求babel做爲一個獨立運行的模塊,以免重複。

下面的配置經過babel-plugin-transform-runtime插件能夠禁用babel向每一個文件注入helper

query:{
      presets:['es2015'],
      plugins : ['transform-runtime']
      }
須要先安裝插件 npm install babel-plugin-transform-runtime --save
相關文章
相關標籤/搜索