描述節
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';
導入默認值節
在default
export
(無論是對象,函數,類等)有效時可用。然后可以使用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