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

How to minify an AMD-Typescript browser project

本文关键字:AMD-Typescript 浏览器 项目 缩小 何缩小      更新时间:2023-09-26

我有一个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大球