注意: 如果使用webpack@2.1.0-beta.25
, 需要将loader-utils
更新到最新版本(0.2.16
)
将resolve.root, resolve.fallback, resolve.modulesDirectories 合并成 resolve.modules
之前:
resolve: {
root: path.join(__dirname, "src")
}
现在:
resolve: {
modules: [
path.join(__dirname, "src"),
"node_modules"
]
}
resolve.extensions 不再允许传空字符串
之前:
resolve: {
extensions: ['', '.js', '.vue']
}
现在
resolve: {
extensions: ['.js', '.vue']
}
debug
之前:
debug: true
现在:
plugins: [
new webpack.LoaderOptionsPlugin({
debug: true
})
]
UglifyJsPlugin sourceMap
UglifyJsPlugin中的sourceMap默认不开启, 如果需要开启需要:
plugins: [
new UglifyJsPlugin({
sourceMap: true
})
]
OccurrenceOrderPlugin
该插件现在已经是默认配置, 无需再plugins
里配置
module.loaders 改成了 module.rules
之前:
module: {
loaders: [{
test: /\.css$/,
loaders: [{
loader: "style-loader"
}, {
loader: "css-loader",
query: {
modules: true
}
}]
}]
}
现在:
module: {
rules: [{
test: /\.css$/,
use: [{
loader: "style-loader"
}, {
loader: "css-loader",
options: {
modules: true
}
}]
}]
}
module.preLoaders 和 module.postLoaders 被移除
之前:
module: {
preLoaders: [{
test: /\.js$/,
loader: "eslint-loader"
}]
}
现在:
module: {
rules: [{
test: /\.js$/,
enforce: "pre",
loader: "eslint-loader"
}]
}
webpack.LoaderOptionsPlugin插件
之前:
module.exports = {
postcss: [autoprefixer({
browsers: browserslist('last 2 version, > 0.1%')
})],
vue: {
loaders: utils.cssLoaders()
}
}
现在:
module.exports = {
plugins: [
new webpack.LoaderOptionsPlugin({
options: {
context: __dirname,
postcss: [ autoprefixer({ browsers: browserslist('last 2 version, > 0.1%')}) ],
vue: {
loaders: utils.cssLoaders()
}
}
})
]
}