关于vue-cli3打包时遇到Cannot assign to read only property 'exports' of object '#<Object>'问题的解决方法。

vue-cli3打包时遇到Cannot assign to read only property ‘exports‘ of object ‘#<Object>‘问题的解决方法。

大致是说,在webpack打包的时候,可以在js文件中混用require和export。但是不能混用import 以及module.exports。

因为webpack 2中不允许混用import和module.exports,

  为了使编译好的程序能在大多数浏览器下运行。webpack里面有一个编译器叫Babel,负责把ES6的语言转化为commonJS以兼容绝大多数浏览器。当你混用这两个语法的时候你可以使用babel的commonJS模式帮你把import编译成require。
  然而第二种情况就是你要使用@babel/plugin-transform-runtime这个插件的时候,同时你又在某个commonJS写的文件里使用这个插件时,babel会默认你这个文件是ES6的文件,然后就使用import导入了这个插件,从而产生了和第一种情况一样的混用错误。解决方法是在babel.config.js里配置unambiguous设置,让babel和webpack一样严格区分commonJS文件和ES6文件。

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

关于vue-cli3打包时遇到Cannot assign to read only property 'exports' of object '#<Object>'问题的解决方法。

原文地址:https://www.cnblogs.com/qingcui277/p/12244844.html

时间: 2024-11-05 12:30:54

关于vue-cli3打包时遇到Cannot assign to read only property 'exports' of object '#<Object>'问题的解决方法。的相关文章

vue-cli3 打包时使用‘babel-loader’遇到Cannot assign to read only property ‘exports’ of object &#39;#&#39;问题的解决方法。

原文链接:http://www.pianshen.com/article/9677274805/ 第一种原因就是import和module.exports的混用要知道commonJS和ES6的语法是不太一样的前者是require和module.exports后者则是import和exports,当你混用这两个语法的时候,webpack就会报错,也就是第一种情况.为了使编译好的程序能在大多数浏览器下运行.webpack里面有一个编译器叫Babel,负责把ES6的语言转化为commonJS以兼容绝大

Vue的报错:Uncaught TypeError: Cannot assign to read only property &#39;exports&#39; of object &#39;#&lt;Object&gt;&#39;

Vue的报错:Uncaught TypeError: Cannot assign to read only property 'exports' of object '#<Object>' 1.运行一下以前的一个Vue+webpack的 vue仿新闻网站  小项目,报错 由于自己vue学习不深入,老是这个报错,找了好久(确切的说是整整一下午^...^)才找到原因 -v- Uncaught TypeError: Cannot assign to read only property 'expor

vue 项目启动报错:Cannot assign to read only property &#39;exports&#39; of object &#39;#&lt;Object&gt;&#39;

最近做项目,打开一个新项目,在启动时报错 查询百度结果是 在webpack打包的时候,可以在js文件中混用require和export.但是不能混用import 以及module.exports. 因为webpack 2中不允许混用import和module.exports, 但是在经过我试验之后,发现不起作用,再去百度,发现一个解决办法: 执行npm: npm install babel-plugin-transform-es2015-modules-commonjs 然后在 babelrc文

使用webpack命令打包时,报错TypeError: Cannot read property &#39;presetToOptions&#39; of undefined的解决办法

我只安装了webpack,没有安装webpack-cli,第一次输入webpack打包时,提示 One CLI for webpack must be installed. These are recommended choices, delivered as separate packages: - webpack-cli (https://github.com/webpack/webpack-cli) The original webpack full-featured CLI. We wi

Vue报错:Uncaught TypeError: Cannot assign to read only property &#39;exports&#39; of object 的解决方法

问题是这样的:如下>> 解决办法: 1“:我的webpack 最高版本,造成 混用import和module.exports :所以降低webpack版本 安装指定版本:npm install [email protected] -g 例如:npm install [email protected] -g 删除 编译目录文件: 2重新生成 然后输入启动命令: 成功解决!效果: 方法二: 注释掉后一个 重新生成,启动项目 OK! Vue报错:Uncaught TypeError: Cannot

webpack报错:Cannot assign to read only property &#39;exports&#39; of object &#39;#&lt;Object&gt;&#39;

这个倒霉错误在mac电脑上开发的时候非常顺利,可是用windows的时候就会报错. 百度查不到,google一查果然有. 原因是:The code above is ok. You can mix require and export. You can't mix import and module.exports. 也就是说,在webpack打包的时候,可以在js文件中混用require和export.但是不能混用import 以及module.exports. 于是查了一下代码,在自己的ma

Cannot assign to read only property &#39;exports&#39; of object &#39;#&lt;Object&gt;&#39;

运行一下以前的一个Vue+webpack的 vue仿新闻网站  小项目,报错 由于自己vue学习不深入,老是这个报错,找了好久(确切的说是整整一下午^...^)才找到原因 -v- Uncaught TypeError: Cannot assign to read only property 'exports' of object '#<Object>' 点开错误的文件,标注错误的地方是这样的一段代码: import {normalTime} from './timeFormat'; modul

关于Cannot assign to &#39;self&#39; outside of a method in the init family解决方法

有时候我们重写父类的init方法时不注意将init后面的第一个字母写成了小写,在这个方法里面又调用父类的初始化方法(self = [super init];)时会报错,错误信息如下:error:Cannot assign to 'self' outside of a method in the init family 原因:只能在init方法中给self赋值,Xcode判断是否为init方法规则:方法返回id,并且名字以init +大写字母开头+其他  为准则.例如:- (id) initWit

Cannot assign to read only property &#39;exports&#39; of object 解决办法

大致是说,在webpack打包的时候,可以在js文件中混用require和export.但是不能混用import 以及module.exports. 因为webpack 2中不允许混用import和module.exports, 解决办法有两种: 一.统一改成ES6的方式编写即可. 二.添加插件 npm install --save-dev @babel/plugin-transform-modules-commonjs 在项目根目录新增.babelrc文件,并在文件中加入 { "plugins