簡體   English   中英

導出類導入對象

[英]Export a class import an object

這是我的代碼(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作為類導入而不是對象。

我做錯了什么? 可能嗎?

美好的一天。

這里

// /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'

如前所述, { 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();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM