解决vue-cli element-ui打包报错Unexpected token: punc (() [./~/element-ui/packages/row/src/row.js
2017-12-17 22:02
1841 查看
1.问题描述
我用vue-cli写了项目,界面都是用element-ui写的,打包时报错:
ERROR in static/js/19.7a249ea6c2bf376ba720.js from UglifyJs
Unexpected token: punc (() [./~/element-ui/packages/row/src/row.js:24,0][static/js/19.7a249ea6c2bf376ba720.js:237,9]
我理解了一下报错信息:
报错说有一个错误在打包后的文件中:
错误的原因是:Unexpected token: punc (() ,即:不能识别操作符("(()")
源文件出错地方是:
打包文件出错地方:
于是我找到两个文件出错的代码一看,
static/js/19.7a249ea6c2bf376ba720.js是打包的结果,这个文件是会放在浏览器运行的,如果浏览器不支持es6语法,那代码就会出错。
所以
在自己项目中的
如果您的vue-cli项目或webpack项目也遇到类似的错误,可以试试这样解决。
感慨一下:
了解问题的本质比知道问题的答案重要
遇到问题需要抽丝剥茧地逐层分析
我用vue-cli写了项目,界面都是用element-ui写的,打包时报错:
ERROR in static/js/19.7a249ea6c2bf376ba720.js from UglifyJs
Unexpected token: punc (() [./~/element-ui/packages/row/src/row.js:24,0][static/js/19.7a249ea6c2bf376ba720.js:237,9]
2.问题理解
我理解了一下报错信息:报错说有一个错误在打包后的文件中:
static/js/19.7a249ea6c2bf376ba720.js,
错误的原因是:Unexpected token: punc (() ,即:不能识别操作符("(()")
源文件出错地方是:
/element-ui/packages/row/src/row.js第
24行第
0列
打包文件出错地方:
static/js/19.7a249ea6c2bf376ba720.js第237行第
0列
于是我找到两个文件出错的代码一看,
发现代码是一样的!
(() => {});中的(()=>{})是es6的语法。但是现在很多浏览器不完成支持es6语法,所以才需要在打包过程中转换成es5语法。
static/js/19.7a249ea6c2bf376ba720.js是打包的结果,这个文件是会放在浏览器运行的,如果浏览器不支持es6语法,那代码就会出错。
所以
npm run build报出错误信息,也是合理的,如果你不理会这个报错信息,把代码拿取浏览器运行,就会出错。
3.解决问题
在自己项目中的webpack.base.conf.js找到了类似的地方,并加入配置
{ test: /\.js$/, loader: 'babel-loader', include: [resolve('src'), resolve('test'),
resolve('/node_modules/element-ui/src'),resolve('/node_modules/element-ui/packages')//---添加这行
] },
如果您的vue-cli项目或webpack项目也遇到类似的错误,可以试试这样解决。
感慨一下:
了解问题的本质比知道问题的答案重要
遇到问题需要抽丝剥茧地逐层分析
相关文章推荐
- vue+element-ui打包时候出现 UglifyJs Unexpected token: punc 问题
- vue.js与element-ui实现菜单树形结构的解决方法
- vue.js - 解决vue-cli打包后自动压缩代码
- 解决vue-cli脚手架打包后vendor文件过大的问题
- 关于vue-cli取消dev-server.js后, proxyTable代理配置问题解决
- 使用Vue.js和Element-UI做一个简单登录页面的实例
- vue-cli快速构建工程 ElementUI axios router 引入使用
- vue.js vue-cli 中解决 axios 跨域调用的问题
- vue-cli中打包图片路径错误的解决方法
- VueJs2.0入门--之后台管理系统(vue.js +vue-router+vuex+element-ui+axios)
- Spring boot + mybatis + Vue.js + ElementUI 实现数据的增删改查实例代码(一)
- vue使用element-ui的el-input监听不了回车事件的解决方法
- vue--element-ui--tree组件解决从外部按钮取消选中状态
- net MVC +Vue.js+Element UI 笔记
- Vue.js UI框架 - element
- vue引入element-ui 2.0 后报错问题解决措施
- 浅谈vue-cli加载不到dev-server.js的解决办法
- webpack+vue.js+elementUI试做后台管理页面
- vue使用element-ui的el-input监听不了回车事件解决
- 【笔记】vue-cli 打包后路径问题出错的解决方法