【问题标题】:Typescript proper structure and compacting打字稿适当的结构和压缩
【发布时间】:2013-07-11 13:37:24
【问题描述】:

我正在尝试使用带有模块的打字稿作为具有文件夹结构的命名空间

/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 对象压缩到一个文件中

我发现了

  • 在 typescript 上设置 AMD 模式会生成模块,但不能很好地导出模块,因为每个模块都必须通过 import 语句导入,因为 ns 不再是全局的

我的问题:

什么是压缩 300 个生成的 js 文件的正确方法,因为您不会使用 r.js?

有没有人用打字稿找到更好的方法来:

  • 做一个 require('ns1',function(ns1){...}) 这样我就可以做 new ns1.ns2.class1(),new ns1.ns2.class2()
  • 将所有类保存在它们自己的文件和这些命名空间中

似乎你可以在命名空间中拥有模块或全局的所有东西......不能两者兼而有之。

【问题讨论】:

    标签: typescript amd minify commonjs


    【解决方案1】:

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

    【讨论】:

    • 这很棒,我愿意: tsc --out out.js usage.ts 这会将所有 commonjs 生成到一个文件中。然后我使用 requirejs 填充文件并公开 ns1!正是我想要的
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-27
    相关资源
    最近更新 更多