描述節
name參數是“模塊對象”的名稱,它將用一種名稱空間來引用導出。導出參數指定單個命名導出,而import * as name語法導入所有導出。以下示例闡明該語法。
導入整個模塊的內容節
這將myModule插入當前作用域,其中包含來自位於/modules/my-module.js文件中導出的所有模塊。
import * as myModule from '/modules/my-module.js';
在這里,訪問導出意味着使用模塊名稱(在這種情況下為“myModule”)作為命名空間。例如,如果上面導入的模塊包含一個doAllTheAmazingThings(),你可以這樣調用:
myModule.doAllTheAmazingThings();
導入單個導出節
給定一個名為myExport的對象或值,它已經從模塊my-module導出(因為整個模塊被導出)或顯式地導出(使用export語句),將myExport插入當前作用域。
import {myExport} from '/modules/my-module.js';
導入多個導出節
這將foo和bar插入當前作用域。
import {foo, bar} from '/modules/my-module.js';
導入帶有別名的導出節
導入時可以重命名導出。例如,將shortName插入當前作用域。
import {reallyReallyLongModuleExportName as shortName}
from '/modules/my-module.js';
導入時重命名多個導出節
使用別名導入模塊的多個導出。
import {
reallyReallyLongModuleMemberName as shortName,
anotherLongModuleName as short
} from "my-module";
僅為副作用而導入一個模塊節
模塊僅為副作用(中性詞,無貶義含義)而導入,而不導入模塊中的任何內容。 這將運行模塊中的全局代碼, 但實際上不導入任何值。
import '/modules/my-module.js';
導入默認值節
在defaultexport(無論是對象,函數,類等)有效時可用。然后可以使用import語句來導入這樣的默認值。
最簡單的用法是直接導入默認值:
import myDefault from "my-module";
也可以同時將default語法與上述用法(命名空間導入或命名導入)一起使用。在這種情況下,default導入必須首先聲明。 例如:
import myDefault, * as myModule from "my-module";
// myModule used as a namespace
或者
import myDefault, {foo, bar} from "my-module";
// specific, named imports
