添加类方法时未定义 module.exports
Posted
技术标签:
【中文标题】添加类方法时未定义 module.exports【英文标题】:module.exports is undefined when adding a class method 【发布时间】:2019-06-29 19:36:58 【问题描述】:我正在尝试设置自定义 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
在适当的应用程序的其他地方使用这个类就好了。
我接下来应该研究什么?
【问题讨论】:
你试过export default myClass
而不是module.exports = myClass
吗?
你有循环依赖(每个模块相互导入)吗?
@tony19 export default myClass
有效,但我在适当的应用程序中使用module.exports
和require
(这是在故事书中)。 export default
在正确的应用程序中失败。我目前正在考虑使其不会中断。
【参考方案1】:
试试这些
module.exports = new myClass
mixin - 它应该是这样的
module.exports = () => new class newClass extends myClass
constructor()
super();
【讨论】:
以上是关于添加类方法时未定义 module.exports的主要内容,如果未能解决你的问题,请参考以下文章
iOS 故事板 - 添加 UINavigationBar 时未出现