我很困惑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。