根本原因是exports和import不兼容引起的。
问题解析
- require 和 module.exports 是commonjs 规范,适用于 nodejs 环境
- import 和 export 是ES6规范,适用于浏览器
- 因此import 不能和 module.exports 混合使用
很多文章如:http://www.mamicode.com/info-detail-1694072.html让修改统一,但是报错的地方是webpack-dev-server依赖包中的代码,就算把vue代码中所有import,export default替换掉,
vue-loader又要求有vue中要有export default。找了很久终于找到一个答案,以下即是解决办法:
需要引入插件
-
npm install babel-plugin-transform-es2015-modules-commonjs
然后在 babelrc中配置
-
{ "plugins": ["transform-es2015-modules-commonjs"] }
即可解决
详情见原文:https://www.jianshu.com/p/837e6b7d0ce0