Javascript 通过JSPM加载(自定义)模块
我有一个模块:Javascript 通过JSPM加载(自定义)模块,javascript,jspm,Javascript,Jspm,我有一个模块:Cow.js内部/src/lib/。然后在我的单元测试(/test/spec/Cow test.js)中,我希望能够通过从“Cow”导入{Cow}来引用它就像我处理JSPM导入的所有依赖项/库一样 问题是,我必须像从“../../src/lib/Cow”导入{Cow}一样进行操作,通过指定路径 我有没有办法按照我的要求去做,而不用担心我在哪里,模块在哪里 这背后的原因是:我可以将模块移动/重构到任何位置,路径应该在一个地方(例如:在JSPM配置文件中),而不是在我引用它们的任何地方
Cow.js
内部/src/lib/
。然后在我的单元测试(/test/spec/Cow test.js
)中,我希望能够通过从“Cow”导入{Cow}来引用它代码>就像我处理JSPM导入的所有依赖项/库一样
问题是,我必须像从“../../src/lib/Cow”导入{Cow}一样进行操作代码>,通过指定路径
我有没有办法按照我的要求去做,而不用担心我在哪里,模块在哪里
这背后的原因是:我可以将模块移动/重构到任何位置,路径应该在一个地方(例如:在JSPM配置文件中),而不是在我引用它们的任何地方
有什么线索吗
PS:我可以共享任何源代码:类/模块
这是我的JSPM配置文件的一部分:
System.config({
baseURL: '',
defaultJSExtensions: true,
transpiler: 'babel',
babelOptions: {
'optional': ['runtime', 'optimisation.modules.system']
},
paths: {
'*': '*.js',
'github:*': 'jspm_packages/github/*',
'npm:*': 'jspm_packages/npm/*'
},
map: {
'babel': 'npm:babel-core@5.8.34',
'babel-runtime': 'npm:babel-runtime@5.8.34',
'chai': 'npm:chai@3.4.1',
...
…这是我(非常小)的项目结构:
| .babelrc
| config.js
| gulpfile.babel.js
| karma.conf.js
| package.json
|
+---jspm_packages/
|
+---node_modules/
|
+---src
| | bootstrap.js
| | main.js
| |
| \---lib
| Cow.js
|
\---test
|
\---spec
Cow-test.js
您可以在JSPM的配置文件中使用包声明 例如,您可以声明一个包
Cow
,然后使用:从“Cow”导入Cow代码>
请参阅此处的文档:
-
-
您还可以在JSPM的配置文件中定义文件夹的路径。
假设您有文件夹lib/
,并且有一些文件(cow.js、sheep.js…),您可以这样导入:从“lib/cow.js”导入cow
在config.json中:
{
...
"path": {
"lib/": "src/lib/"
},
...
}
请参阅此处的文档: