module.exports не определен при добавлении метода класса - PullRequest
0 голосов
/ 06 февраля 2019

Я пытаюсь настроить пользовательский плагин Vue и внешний класс для использования с Storybook.В моем сборнике рассказов config.js у меня есть:

const addParameters = require('@storybook/vue').addParameters;
const configure = require('@storybook/vue').configure
const Vue = require('vue').default;
const Vuex = require('vuex');
Vue.use(Vuex);
const myClass = require('../myClass.js')

function loadStories(){...}
addParameters({...})
configure(loadStories, module)

в myClass.js

class myClass {
   constructor(){
     this.myVar = 6
   }
}
module.exports = myClass

Это прекрасно работает.

Проблема возникает, когда я добавляю какие-либо методы класса, я получаю ошибку Cannot assign to read only property 'exports' of object '#<Object>'

Пример

class myClass {
   constructor(){
     this.myVar = 6
   }
   getVar(){ return this.myVar }
}
module.exports = myClass

Я читал, что эта ошибка может быть вызванасмешивая import и module.exports, но, насколько я могу судить, я этого не делаю.Я также запутался, почему я не ошибаюсь, пока не добавлю метод класса.Кроме того, я использую этот класс в другом месте в правильном приложении, просто отлично, используя module.exports и require.

Есть идеи, что мне следует посмотреть дальше?

1 Ответ

0 голосов
/ 06 февраля 2019

попробуйте эти

  1. module.exports = new myClass
  2. mixin - это должно выглядеть так

    module.exports = () => new class newClass extends myClass{ constructor(){ super(); }}

...