import и module.exports в модуле Vuex show Uncaught TypeError: Невозможно назначить только для чтения свойство 'exports' объекта - PullRequest
2 голосов
/ 10 апреля 2020

У меня есть модуль vuex Vue CLI

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;

тогда работай хорошо. Но я не знаю, что отличается. это ошибка?

1 Ответ

1 голос
/ 10 апреля 2020

VueJS - это код браузера и использование модулей ES6

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

, в то время как Common JS используется NodeJS и полностью отличается

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

Вы пишете Vue код, так что вы должны использовать модули ES6 и синтаксис импорта / экспорта, объект module не работает так, как вы ожидаете в ES6

...