1

我试图了解由 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 生态系统的初学者。

谢谢!

4

1 回答 1

0

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

假设脚本在以下定义中运行mapgithub:jspm/nodelibs-buffer@0.1.0

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

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

于 2016-06-24T11:00:00.377 回答