目录css
上节: babel编译es6html
上节目录以下:webpack
使用webpack编译后的代码运行在浏览器上,一旦出错,错误指向的是编译后的代码,这对调试带来极大困难,因此webpack自带devtool选项来解决这一问题。es6
修改webpack.config.js:web
// 省略 module.exports = { mode: 'production', entry: './src/index.js', output: { filename: '[name].js', path: resolve(__dirname, 'bundles') }, // 开启devServer devServer: {}, // 开启调试 devtool: 'source-map', module: { rules: [{ test: /\.(gif|jpg|jpeg|png|svg)$/, use: ['url-loader'] }, { test: /\.less$/, use: ['style-loader', 'css-loader', 'postcss-loader', 'less-loader'] }] }, plugins: [ new HtmlWebpackPlugin({ template: './index.html' }), new CleanWebpackPlugin() ] };
而后npm run build,查看bundles文件夹:npm
.segmentfault
修改选项:浏览器
// 省略 devtool: 'cheap-source-map', //省略
而后npm run build,查看bundles文件夹,也会为每一个js都生成一个对应的.map文件,
区别是: 加上cheap前缀就只会提示到某行,而且只管入口文件,
若是用了cheap前缀,又想映射其它依赖,须要在加上module(cheap-module-source-map)babel
再改选项:less
// 省略 devtool: 'inline-source-map', //省略
这时再打包就不会生成.map文件了,由于已经内联到对应的js文件中去了。
devtool选项不少,而且能够相互配合,这里给出大众推荐:
开发环境:cheap-module-eval-source-map
生产环境:cheap-module-source-map