无法分配为只读对象'#<object>'VueJs的属性'exports'

时间:2019-01-23 14:17:14

标签: javascript class vue.js webpack babeljs

我正在使用Webpack和Babel进行Vue项目,并尝试使用module.exports从一个文件导出两个Js类,并将其包含在具有require的组件中:

classes.js

class classOne {
  constructor(){
  }
  f1() {}
  f2() {}
  ...
}
class classTwo {
  constructor(){
  }
  f1() {}
  f2() {}
  ...
}
module.exports = {
  classOne,
  classTwo
}

component.vue的脚本标记

const classes = require('@/path/to/classes.js');

export default {
  data() {
    return {
      var: undefined,
      foo: undefined,
    }
  }
  created() {
    this.var = new classes.classOne();
    this.foo = new classes.classTwo();
  }
}

但我收到此错误:

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

1 个答案:

答案 0 :(得分:0)

尝试使用ES6模块语法而不是Node.js中的module.exports

classes.js

export default {
  classOne,
  classTwo
}

component.vue

import classes from '@/path/to/classes.js'

我希望这会有所帮助。