導包時import花括號 的作用

2021-10-24 06:18:39 字數 1570 閱讀 5172

1、不使用花括號

假如乙個b.js,想通過import語法引用模組a.js,那麼可以這麼寫

1.

2.import

afrom

'./a'

而上面的**生效的前提是,只有在如下a.js 中有預設匯出的 export default 語法時才會生效。也就是說:

// a.js

export

default

42

在這種不使用{}來引用模組的情況下,import 模組時的命名是隨意的,即如下三種引用命名都是正確的:

// b.js

import

afrom

'./a'

import mya from

'./a'

import someting from

'./a'

因為它總是會解析到a.js 中預設的 export default。

2、使用花括號

下面是使用了花括號命名的方式{a}來匯入a.js

import

from

'./a'

上面**生效的前提是,只有在模組a.js 中有如下命名匯出為a的export name 的**,也就是:

export

consta=

42

而且,在明確宣告了命名,匯出後,那麼在另s乙個js中使用{}引用模組時,import 時的模組命名是有意義的,如下:

import

from

'./a'

//正確,因為a.js 中有命名為a 是export

import

from

'./a'

// 錯誤!因為a.js 中沒有命名為mya的export

import

from

'./a'

//錯誤!因為a.js中沒有命名為someting的export

要想上述**正確執行,你需要明確宣告每乙個命名匯出:

export

consta=

42export

const mya =

43export

const something =

44

ps:乙個模組中只能有乙個預設匯出export default ,但是卻可以有任意命名匯出(0個,1個,多個),你也可以如下一次性將他們匯入,這裡我們使用匯入預設匯出a,以及命名匯出mya和something:

b

.js

importa,

from

'./a'

我們甚至可以在匯入的時候重新命名匯入:

importx,

from

'./a'

總結:模組的預設匯出通常是用在你期望該從模組中獲取到任何想要的內容;而命名匯出則是用於一些有用的公共方法,但是這些方法並不總是必要的。

import 導包三種方法

coding utf 8 python 27 xiaodeng 導包三種方法 常用 完整的匯入,也是最基本的方法 importre 自己定義別名,一般情況下盡量少用此辦法,不方便理解,也不方便其他人看 個人理解 import urllib as xiaodeng html xiaodeng.urlo...

import 導包三種方法

coding utf 8 python 27 xiaodeng 導包三種方法 常用 完整的匯入,也是最基本的方法 importre 自己定義別名,一般情況下盡量少用此辦法,不方便理解,也不方便其他人看 個人理解 import urllib as xiaodeng html xiaodeng.urlo...

ES6,import時如何正確使用花括號

在 es6 之前,社群制定了一些模組載入方案,最主要的有 commonjs 和 amd 兩種。前者用於伺服器,後者用於瀏覽器。es6 在語言標準的層面上,實現了模組功能,而且實現得相當簡單,完全可以取代 commonjs 和 amd 規範,成為瀏覽器和伺服器通用的模組解決方案。而我們這裡要說的是在使...