一、處理JavaScript
- babel-loader
webpack1.x 使用babel-loader<=6
webpack2.x使用babel-loader >=7
建議使用yarn安裝完域,也可以使用npm申尼。babel使用的是模塊化開發(fā)蓬蝶,想要讓loader生效螺戳,需要同時安裝babel-core babel-preset-env
yarn add babel-core babel-preset-env babel-loader
用法非常簡單踏堡,為了加快loader的處理速度醋旦,可以添加exclude恒水,cacheDirectory選項。
module:{
rules:[
{
test:/\.js$/,
exclude: /(node_modules|bower_components)/,
use: {
loader:'babel-loader?cacheDirectory',
options:{
presets: ['env']
}
}
}
]
}
注意饲齐,這里的cacheDirectory會緩存JavaScript的編譯結果钉凌。如果遇到不能刷新代碼的情況,可以過來看看是不是走了緩存捂人。
查看babel-loader生成的代碼御雕,會發(fā)現(xiàn),babel會在每一個chunk中打包runtime啟動代碼滥搭,這使得代碼冗余比較多酸纲。此時可以在options中添加新的插件,處理這個情況瑟匆,比如 babel-plugins-transform-runtime 大概意思就是將runtime代碼轉移到一個代碼中闽坡。
最后,babel與babel-loader不是一會兒事兒愁溜,webpack2中已經(jīng)逐步棄用這個寫法了疾嗅。
TODO; translate this page https://github.com/webpack/docs/wiki/list-of-plugins