Webpack 2 开发工具不工作
Webpack 2 devtool not working
我正在尝试从 webpack 1 转换为 2,但 webpack 似乎没有使用 devtool: 'source-map' 生成源映射文件。如果我 运行 具有以下配置的 webpack 会按预期在 /public
中创建 bundle.js
文件,但没有 bundle.js.map
文件,也不会出现错误。使用 webpack 1 它按预期工作:
const webpack = require('webpack')
module.exports = {
entry: ['babel-polyfill', './src/index.js'],
output: {
path: './public',
filename: 'bundle.js'
},
module: {
rules: [
{
test: /\.js$/,
exclude: /node_modules/,
loader: 'babel-loader'
}
]
},
devtool: 'source-map',
plugins: [
new webpack.DefinePlugin({
'process.env': {
NODE_ENV: '"production"'
API_BASE_URL: `"${process.env.API_BASE_URL || '/api/v1'}"`
}
}),
new webpack.optimize.UglifyJsPlugin()
]
}
CLI 输出:
> cross-env NODE_ENV=production webpack
Hash: 738da5a3824ffac20236
Version: webpack 2.2.0
Time: 13819ms
Asset Size Chunks Chunk Names
bundle.js 611 kB 0 [emitted] [big] main
[2] ./~/react/react.js 56 bytes {0} [built]
看起来如果您使用的是 UglifyJSPlugin 源映射,除非您 re-enable 在那里,否则源映射将被静默禁用:
plugins: [
new webpack.optimize.UglifyJsPlugin({sourceMap: true})
]
我正在尝试从 webpack 1 转换为 2,但 webpack 似乎没有使用 devtool: 'source-map' 生成源映射文件。如果我 运行 具有以下配置的 webpack 会按预期在 /public
中创建 bundle.js
文件,但没有 bundle.js.map
文件,也不会出现错误。使用 webpack 1 它按预期工作:
const webpack = require('webpack')
module.exports = {
entry: ['babel-polyfill', './src/index.js'],
output: {
path: './public',
filename: 'bundle.js'
},
module: {
rules: [
{
test: /\.js$/,
exclude: /node_modules/,
loader: 'babel-loader'
}
]
},
devtool: 'source-map',
plugins: [
new webpack.DefinePlugin({
'process.env': {
NODE_ENV: '"production"'
API_BASE_URL: `"${process.env.API_BASE_URL || '/api/v1'}"`
}
}),
new webpack.optimize.UglifyJsPlugin()
]
}
CLI 输出:
> cross-env NODE_ENV=production webpack
Hash: 738da5a3824ffac20236
Version: webpack 2.2.0
Time: 13819ms
Asset Size Chunks Chunk Names
bundle.js 611 kB 0 [emitted] [big] main
[2] ./~/react/react.js 56 bytes {0} [built]
看起来如果您使用的是 UglifyJSPlugin 源映射,除非您 re-enable 在那里,否则源映射将被静默禁用:
plugins: [
new webpack.optimize.UglifyJsPlugin({sourceMap: true})
]