Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/366.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 通过JSPM加载(自定义)模块_Javascript_Jspm - Fatal编程技术网

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/"
    },
    ...
}
请参阅此处的文档: