将可重用库与systemjs构建器捆绑在一起

时间:2015-11-02 15:49:28

标签: javascript typescript ecmascript-6 jspm systemjs

我的大脑已经融化,试图将代码捆绑到一个可重用的库中,我需要有人引导我回到路上。

我已经在TypeScript中编写了一个库,我希望在使用jspm的多个项目中重用它。

它有一个名为Index.js的入口点文件,它只导出一个我要公开的类(Class1)。

Index.js

export { Class1 } from "./Classes/Class1";

问题在于,当我使用systemjs-builder将其捆绑到单个文件时,它会转储所有依赖项。

构建输出

System.register("Classes/Class2.js", [], function(exports_1) {

});

System.register("Classes/Class1.js", ["Classes/Class2.js"], function(exports_1) {

});

System.register("Index.js", ["Classes/Class1.js"], function(exports_1) {
});

我不相信SFX捆绑包是合适的,因为我想用systemjs加载它,所以这里有一些我不明白的事情。

  1. 我不想暴露class2(它只是class1的依赖关系) - 但它从输出中看起来像任何人只要require它就可以了。< / LI>
  2. 模块ID冲突怎么样?如果我有另一个第三方库也定义了Classes / Class1模块怎么办?
  3. 我本质上想要的是一个单独的文件,它只导出我需要的模块而没有其他任何东西,并且是命名空间,因此它不会与任何其他库发生冲突。我怎样才能做到这一点?

0 个答案:

没有答案