import and module.exports in Vuex module show Uncaught TypeError: Cannot assign to read only property 'exports' of object

import and module.exports in Vuex module show Uncaught TypeError: Cannot assign to read only property 'exports' of object

我有一个 Vue CLI 的 vuex 模块

import { Sev } from "../api";
const modules = {
  actions: {
    getData() {
      Sev();
    }
  }
};

module.exports = modules;

我在浏览器控制台中遇到错误

test.js?5df4:10 Uncaught TypeError: Cannot assign to read only property 'exports' of object '#<Object>'
    at Module.eval (test.js?5df4:10)
    at eval (test.js:12)
    at Module../src/config/store_modules/test.js (app.js:1263)

然后我将代码更改为

import { Sev } from "../api";
// const modules = {
export default {
  actions: {
    getData() {
      Sev();
    }
  }
};
// module.exports = modules;

然后好好工作。但我不知道有什么不同。这是一个错误吗?

VueJS 是浏览器代码并使用 ES6 模块

import xxx from './path/to/xxx';
export xxx;
export default xxx;

而 CommonJS 被 NodeJS 使用,完全不同

const yyy = require('./path/to/yyy');
module.exports = { yyy };
exports.zzz = yyy;

您正在编写 Vue 代码,因此您必须使用 ES6 模块和 import/export 语法,module 对象的行为与您在 ES6 中所期望的不同