使用gulp, browserify & babelify,导出/导入类工作正常,直到我尝试以不同的名称导入同一个类:
// Acme/DefaultInit.js
export default class DefaultInit {
constructor() {
console.log('hello');
}
}
// App/Init.js
import * as B from "../Acme/DefaultInit";
class Init extends B.DefaultInit {
constructor() {
super();
console.log('how are you?');
}
}
因此,当我运行gulp构建的脚本时,错误是:
TypeError: Super expression must either be null or a function, not undefined
来自babel生成的代码
if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); }
那里我做错了什么?请注意,没有jslint错误
答案 0 :(得分:4)
您导出DefaultInit
作为默认设置,因此它实际上可以从B.default
而不是B.DefaultInit
获得。
如果您希望能够B.DefaultInit
从default
之前删除class DefaultInit
,或者将import * as B
替换为import DefaultInit
。