如何缩小 AMD-Typescript 浏览器项目

How to minify an AMD-Typescript browser project

我有一个 Typescript 项目,其结构如下:

myproject
 |
 +-src
 |  |
 |  +-main.ts
 |  +-stringHandler.ts
 |  +-disposable.ts
 |  +-tsconfig.ts
 +-out

我正在使用 AMD 并使用以下 tsc --project src 和以下 tsconfig.json 文件编译项目:

{
    "compilerOptions": {
        "target": "ES5",
        "noImplicitAny": true,
        "removeComments": false,
        "preserveConstEnums": true,
        "module": "amd",
        "outDir": "../out"
    },
    "files": [
        "main.ts",
        "stringHandler.ts",
        "disposable.ts"
    ]
}

生成输出的问题

我的问题是,当我编译时,我得到以下信息:

myproject
 |
 +-out
    |
    +-main.js
    +-stringHandler.js
    +-disposable.js

但我想生成缩小的文件!但如何做到这一点?每个 .js 文件都引用了其他 .js 文件。我不能简单地将所有重命名为 .min.js,因为它不起作用。

这方面的最佳做法是什么? 谢谢

您可以生成 .min.js 文件和 shim...

requirejs.config({
    enforceDefine: true,
    paths: {
        jquery: [
            'lib/jquery.min',
            'lib/jquery'
        ]
    }
});

对于一个或两个文件没问题,但对于您的整个项目则不然...所以选项二是将您的文件缩小到一个文件夹中,并允许它们保留原来的名称。

第三个选项是调整 RequireJS 本身以查找“.min.js”而不是“.js”。

选项四是使用 RequireJS 优化器,它实际上会通过查看所有代码并整理模块来创建一个文件...在 JavaScript 处留下一个大球结束。