技术

【填坑日记】ERROR in static/js/***.js from UglifyJs

微信扫一扫,分享到朋友圈

【填坑日记】ERROR in static/js/***.js from UglifyJs
收藏 0 0

生命不息,填坑不止。

由于是中间接手项目,自行npm install之后,进行build过程中报错。但是同事的电脑打包都是正常的,后来也就没有追究。自己打包能正常打包,但是看到如下错误信息,打包出来的文件也能正常使用。就是看着比较郁闷。

报错信息

ERROR in static/js/0.5c379196415ca058222a.js from UglifyJs
TypeError: Cannot read property ‘sections’ of null

爬坑一:element-ui打包和运行报错处理

因为我的项目也是用的element-ui,报错信息差不多,声明原因是出现这样的情况是element-ui组件的js使用的是ES6的语法,打包的时候无法解析,导致UglifyJs报错。提供的解决方案是调整webpack的配置文件

 {
         test: /\.js$/,
         loader: 'babel-loader',
         include: [resolve('src'), resolve('test'),resolve('/node_modules/element-ui/src'),resolve('/node_modules/element-ui/packages')]
 }

修改之后呢,没什么反应。爬坑失败

爬坑二:有的说是没有babel解析的时候一些新特性没能解析,没有带上 stage-2
那就再.babelrc文件里面增加对应的设置
"presets": [["es2015", { "modules": false }],"stage-2"],
爬坑失败

爬坑三:
仔细分析报错中涉及到的UglifyJs插件,UglifyJs插件是代码压缩的插件,也就是说在语法解析之后,再进行的压缩。于是,再webpack的配置文件中将其屏蔽掉,打包,正常了。
那基本定位是这里的问题了。找到文档:

UglifyjsWebpackPlugin

找到解决方案:

在 webpack.conf.js中,在如下位置增加选项。

new webpack.optimize.UglifyJsPlugin({
sourceMap: true
})

 

sourceMap   使用 SourceMaps 将错误信息的位置映射到模块。这会减慢编译的速度。

github上项目说明上是解释是  pass an object if you wish to specify source map options.

具体什么意思,没懂。

问题解决,不报错了,具体原因或者其他隐患不清楚。有大牛懂得可以给解读下。


最近拉了网上的开源小程序代码套了个博客小程序,发布上线,有兴趣的同学可以体验下。

另外,关于小程序美团家做了个vue和小程序集合的框架mpvue,回头研究下。

展开阅读全文
半拉子前端的自留地,发际线逐渐后移的抠脚大叔!

版本管理工具GIT-简易使用指南

上一篇

Webpack打包全世界-现代JavaScript应用程序开发静态打包器

下一篇

你也可能喜欢

发表评论

您的电子邮件地址不会被公开。 必填项已用 * 标注

提示:点击验证后方可评论!

插入图片

体验小程序

标签地图

分类

EA PLAYER &

历史记录 [ 注意:部分数据仅限于当前浏览器 ]清空

      00:00/00:00

      微信扫一扫

      微信扫一扫