注意: 如果使用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()
                }
            }
        })
    ]
}