webpack4.29.x成神之路(十二) source-map

栏目: JavaScript · 发布时间: 6年前

内容简介:上节:babel编译es6上节目录如下:

目录

上节:babel编译es6

上节目录如下:

webpack4.29.x成神之路(十二) source-map

使用webpack编译后的代码运行在浏览器上,一旦出错,错误指向的是编译后的代码,这对调试带来极大困难,所以webpack自带devtool选项来解决这一问题。

修改webpack.config.js:

// 省略

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文件夹:

webpack4.29.x成神之路(十二) source-map .

  • source-map则会将错误指向源文件。
  • source-map会为每个js都生成一个对应的.map文件
  • 默认会提示错误代码的精确位置(某文件的某行某列),
  • 会映射入口文件及其引入的其它依赖

修改选项:

// 省略
devtool: 'cheap-source-map',
//省略

然后npm run build,查看bundles文件夹,也会为每个js都生成一个对应的.map文件,

区别是: 加上cheap前缀就只会提示到某行,并且只管入口文件,

如果用了cheap前缀,又想映射其它依赖,需要在加上module(cheap-module-source-map)

再改选项:

// 省略
devtool: 'inline-source-map',
//省略

这时再打包就不会生成.map文件了,因为已经内联到对应的js文件中去了。

devtool选项很多,并且可以相互配合,这里给出大众推荐:

开发环境:cheap-module-eval-source-map

生产环境:cheap-module-source-map

下节:摇树优化(tree shaking)(待更新)


以上所述就是小编给大家介绍的《webpack4.29.x成神之路(十二) source-map》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

赛博空间的奥德赛

赛博空间的奥德赛

(荷兰)约斯·德·穆尔 (Jos de Mul) / 麦永雄 / 广西师范大学出版社 / 2007-2 / 38.00元

本书揭示了数码信息时代的电子传媒与赛博空间为人类历史的发展提供的新的可能性。本书第一部分“通向未来的高速公路”,涉及无线想象、政治技术和极权主义在赛博空间的消解等题旨;第二部分“赛博空间的想象” ,讨论空间文学探索简史、电影和文化的数码化;第三部分”可能的世界” ,关涉世界观的信息化、数码复制时代的世界、数码此在等层面;第四、五部分探讨主页时代的身份、虚拟人类学、虚拟多神论、赛博空间的进化、超人文......一起来看看 《赛博空间的奥德赛》 这本书的介绍吧!

MD5 加密
MD5 加密

MD5 加密工具

SHA 加密
SHA 加密

SHA 加密工具

RGB HSV 转换
RGB HSV 转换

RGB HSV 互转工具