这是我的代码(vanillaJS):
// app.js
import Block from './models/index';
console.log(typeof(Block));
let block = new Block();
// /models/block.js
export default class Block {
constructor() {
}
};
// /models/index.js
import Block from './block';
export default {
Block
};
app.js中的console.log告诉我Block是一个对象。
我想将Block导入为类而不是对象。
我做错了什么? 有可能吗?
美好的一天。
答案 0 :(得分:2)
这里
// /models/index.js
import Block from './block';
export default {
Block
};
您确实导出了一个对象(具有属性Block
)。要导出类,只需执行:
// /models/index.js
import Block from './block';
export default Block
// or in one line: export { default } from './block'
答案 1 :(得分:1)
如前所述,{ Block }
- 您导出的东西 - 确实是一个对象。但是,我建议不要从models/index.js
默认导出任何内容作为解决方案
我想你在这里寻找命名出口:
// /models/index.js
import Block from './block';
export { // <- this is not an object literal
Block // short for: `Block as Block`
};
// or in one line:
export { default as Block } from './block';
// app.js
import { Block } from './models/index';
// ^ ^
console.log(typeof(Block));
let block = new Block();