我很困惑SystemJS配置中使用的各種術語。它談論模塊,定位,包裝等等SystemJS配置中的模塊Vs位置Vs包是什麼?
是不是模塊在JS是一個單一的文件,並包爲模塊或文件的集合?如果是這樣,一個模塊如何成爲一個包的別名?
地圖選項類似於路徑,但在歸一化過程的早期作用。它可以讓你的模塊別名映射到一個位置或包裝:
我很困惑SystemJS配置中使用的各種術語。它談論模塊,定位,包裝等等SystemJS配置中的模塊Vs位置Vs包是什麼?
是不是模塊在JS是一個單一的文件,並包爲模塊或文件的集合?如果是這樣,一個模塊如何成爲一個包的別名?
地圖選項類似於路徑,但在歸一化過程的早期作用。它可以讓你的模塊別名映射到一個位置或包裝:
是模塊是一個單一的文件,在JavaScript它只是文件名(與假設.js
擴展)的報價後from
關鍵字
import ... from 'some-module';
在SystemJS配置文件中,可以使用paths
和map
來定義some-module
引用的實際文件或URL。
packages
在配置文件中,您可以爲位於或低於特定位置(packages
對象中的密鑰)的所有模塊應用一組配置參數(默認擴展名,模塊格式,自定義加載程序等)。在packages
之一設置爲main
,其類似於main
在package.json
在節點(除了它的默認值是空的,不index.js
):它確定哪些文件當包裝位置本身在from
出現在被加載import
聲明。
所以,我認爲「一個模塊如何成爲一個包的別名?」關於此問題
map選項與路徑類似,但在 標準化過程中的行爲很早。它允許一個模塊別名映射到 位置或包:
可以在本實施例中進行說明:
paths: {
'npm:': 'node_modules/'
},
map: {
'some-module': 'npm:some-module'
},
packages: {
'some-module': {
main: './index.js'
}
}
當這些map
,packages
和path
設置由SystemJS施加到
import something from 'some-module';
它們將導致SystemJS從node_modules/some-module/index.js
加載baseURL
下的模塊。
和
import something from 'some-module/subcomponent';
被映射到node_modules/some-module/subcomponent.js
。
注意:這是基於我對SystemJS 0.19的經驗。我還沒有試過0.20。