打字稿适当的结构和压缩

时间:2013-07-11 13:37:25

标签: typescript amd minify commonjs

我正在尝试将typescript与模块一起用作具有文件夹结构的命名空间

/ns1/ns2/class1.ts
          class2.ts
usage.ts

其中usage.ts可以执行:

new ns1.ns2.class1();
new ns1.ns2.class2();

如果这是纯粹的js,我会用requirejs完成所有操作。

  1. 创建没有命名空间的模块
  2. 参考模块以供使用
  3. 使用R.js将require对象压缩为一个文件
  4. 我找到了

    • 在打字稿上设置AMD模式会生成模块,但由于每个模块必须通过import语句导入,因为ns不再是全局的,所以它们的导出效果不佳。

    我的问题:

    由于你不会使用r.js来压缩300个生成的js文件的正确方法是什么?

    有没有人找到一个更好的打字稿方式:

    • 执行require(' ns1',function(ns1){...}),这样我就可以执行新的ns1.ns2.class1(),new ns1.ns2.class2()
    • 将所有类保存在自己的文件和这些名称空间中

    看起来你可以在命名空间中拥有全局模块或全局......而不是两者都有。

1 个答案:

答案 0 :(得分:2)

如果您有两个使用///引用相互引用的打字稿文件,并使用--out编译器标志进行编译,则typescript将为您合并两个(或n个)文件