Vue-element-admin: @vue/cli 4.x build:prod出现'exports' of object '#<Object>'

Created on 19 Jun 2020  ·  6Comments  ·  Source: PanJiaChen/vue-element-admin

本地环境:@vue/cli 4.4.4、node v14.4.0、[email protected]、MacOS 10.15
使用命名:npm run build:prod 项目,部署在Nginx上,访问控制台出现如下错误:

ncaught TypeError: Cannot assign to read only property 'exports' of object '#<Object>'

项目并未做任何改动,直接clone下build的,请问这是什么原因啊?在dev环境下没有问题

Most helpful comment

查了下资料,原因可能是最近作者添加了module.exports的语法与import的冲突 (与#3246有关)。。
临时修改babel.confige.js如下可以解决,但具体原因还是让大佬分析

module.exports = { presets: [ '@vue/app' ], sourceType: 'unambiguous' }

All 6 comments

找到了解决办法,在不改动package.json中版本的情况下:
仅在vue.config.js中添加如下代码:

 config.module
      .rule('js')
      .test(/\.js$/)
      .include.add(resolve('src')).add(resolve('test'))
      .end()
      .use('babel-loader')
      .loader('babel-loader')
      .end()

具体原因有知道的大佬可以在下面解答一下

你的解决方法有效,感谢

查了下资料,原因可能是最近作者添加了module.exports的语法与import的冲突 (与#3246有关)。。
临时修改babel.confige.js如下可以解决,但具体原因还是让大佬分析

module.exports = { presets: [ '@vue/app' ], sourceType: 'unambiguous' }

找到了解决办法,在不改动package.json中版本的情况下:
仅在vue.config.js中添加如下代码:

 config.module
      .rule('js')
      .test(/\.js$/)
      .include.add(resolve('src')).add(resolve('test'))
      .end()
      .use('babel-loader')
      .loader('babel-loader')
      .end()

具体原因有知道的大佬可以在下面解答一下

非常感谢

Was this page helpful?
0 / 5 - 0 ratings