了解jspm install生成的config.js

时间:2015-08-28 17:51:51

标签: javascript jspm systemjs

我试图了解jspm install创建的config.js文件中的以下内容。我已经关注了Config api,但对于那里的描述却无法理解。查看创建的文件夹和安装的包..看起来路径和地图选项之间存在某种关系。

System.config({
  baseURL: "/",
  defaultJSExtensions: true,
  transpiler: "typescript",
  paths: {
    "github:*": "jspm_packages/github/*",
    "npm:*": "jspm_packages/npm/*"
  },

  map: {
    "typescript": "npm:typescript@1.6.0-dev.20150825",
    "github:jspm/nodelibs-buffer@0.1.0": {
      "buffer": "npm:buffer@3.4.3"
    },
    "github:jspm/nodelibs-os@0.1.0": {
      "os-browserify": "npm:os-browserify@0.1.2"
    },
    "github:jspm/nodelibs-path@0.1.0": {
      "path-browserify": "npm:path-browserify@0.0.0"
    },
    "github:jspm/nodelibs-process@0.1.1": {
      "process": "npm:process@0.10.1"
    },
    "npm:buffer@3.4.3": {
      "base64-js": "npm:base64-js@0.0.8",
      "ieee754": "npm:ieee754@1.1.6",
      "is-array": "npm:is-array@1.0.1"
    },
    "npm:os-browserify@0.1.2": {
      "os": "github:jspm/nodelibs-os@0.1.0"
    },
    "npm:path-browserify@0.0.0": {
      "process": "github:jspm/nodelibs-process@0.1.1"
    },
    "npm:typescript@1.6.0-dev.20150825": {
      "buffer": "github:jspm/nodelibs-buffer@0.1.0",
      "child_process": "github:jspm/nodelibs-child_process@0.1.0",
      "fs": "github:jspm/nodelibs-fs@0.1.2",
      "os": "github:jspm/nodelibs-os@0.1.0",
      "path": "github:jspm/nodelibs-path@0.1.0",
      "process": "github:jspm/nodelibs-process@0.1.1",
      "readline": "github:jspm/nodelibs-readline@0.1.0"
    }
  }
});

有些身体可以帮助我理解配置吗?请耐心等待..我是初学者,试图了解javascript生态系统。

谢谢!

1 个答案:

答案 0 :(得分:0)

这是一个老问题,但如果其他人遇到这里,我会回答。

假设脚本在map内遇到此定义: github:jspm/nodelibs-buffer@0.1.0

解析器将继续检查github:*中的paths条目,并将其替换为值jspm_packages/github/*(如正则表达式),结果为: jspm_packages/github/jspm/nodelibs-buffer@0.1.0

加载文件等时,System.js将能够找到包含此信息的脚本的安装位置。