【问题标题】:What is SystemJS config.js map?什么是 SystemJS config.js 映射?
【发布时间】:2015-10-29 18:19:00
【问题描述】:

使用 jspm 0.16.13,我注意到除了将“模块别名映射到位置或包”config.jsmap 似乎还定义了模块的依赖项。例如,请参见下面的 sn-p。然而,在这个特定的例子中,至少在我生成的 config.js 中,这个模块不会出现在 map 的其他任何地方。

"github:aurelia/logging-console@0.7.1": {
  "aurelia-logging": "github:aurelia/logging@0.7.0"
}

我要做的是使用jspm 创建一个“供应商”包...将所有“第三方”依赖项放入它自己的包中。我需要手动列出模块,因为我使用的是 aurelia——包括“主 aurelia 模块”不会自动包含它的依赖项。 (其他库可能也是如此。)

有人能解释一下config.jsmap吗?或者提供一种更好的方式来列出应用的所有依赖项?

【问题讨论】:

    标签: bundling-and-minification aurelia jspm systemjs


    【解决方案1】:

    您可以使用捆绑算法将您的应用依赖项捆绑到 vendor.js 中:

    jspm bundle app/**/* - [app/**/*] vendor.js
    

    Guy Bedford 的语法解释:https://github.com/jspm/jspm-cli/issues/1109#issuecomment-141385673

    另一种解决方案是捆绑 package.json 中列出的所有模块:

    https://github.com/jspm/jspm-cli/issues/1109#issuecomment-139529178

    至于map,它定义了别名(或依赖关系,并不重要),以便导入语句可以使用短名称引用模块。将来,可以使用 URL 导入模块。

    【讨论】:

    • 你是说如果我使用 package.json 中列出的依赖项就足够了?我想我试过了,有些模块是不捆绑的。认为这可能是aurelia的事情。似乎 config.js 给出了更完整的依赖列表
    • 如果 aurelia 自己破坏了 config.js,则 config.js 中可能有一些额外的内容。但是为什么不使用jspm呢?
    猜你喜欢
    • 1970-01-01
    • 2013-05-11
    • 1970-01-01
    • 2013-05-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-13
    • 1970-01-01
    相关资源
    最近更新 更多