我有一个基础课(mobile.js)
class Mobile {
constructor() {
...
}
method(msg){
...
}
}
module.exports = Mobile;
然后我将其导入(mobileextended.js);
import Mobile from './mobile';
class MobilePhone extends Mobile {
method(){
super.method('hello world!');
}
}
module.exports = MobilePhone;
最后我想将它导入mobilephone.js:
import MobilePhone from './mobileextended.js';
MobilePhone.method();
如何以ES6风格完成这项工作?因为现在我无法阅读财产' open'未定义的错误。
答案 0 :(得分:0)
如果你想在地图中命名,你可以导入它们,例如
import Mobile from './Mobile'
您应该使用默认导出,例如
export default Mobile
来自定义Mobile
的地方。
将此与具有命名导出
进行比较export class Mobile { ... }
并在单独的模块中导入该特定名称。
import {Mobile} from Mobile
但是,正如loganfsmyth在评论中指出的那样,这不是您错误的来源。要使用非静态方法,您需要创建该类的实例。
const mobilePhone = new MobilePhone()
mobilePhone.method()