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

标签 javascript typescript minify

我有一个 Typescript具有以下结构的项目:

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

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

{
    "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。

关于javascript - 如何缩小 AMD-Typescript 浏览器项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31658040/

相关文章:

javascript - Highcharts 未在 jQuery 工具提示中呈现

javascript - 检测用户是否离开页面并使用ajax删除

javascript - 如何通过 npm TypeScript 编译器生成 JavaScript 包

javascript - 缩小nodejs服务器端代码有什么好处吗?

css - Rails Assets 管道 : compressed/minified CSS loaded but not styling document

javascript - Fabric Js 将一个图像拖动到另一个图像上

Angular 7 处理大型 post http 请求

typescript - 预中间件中的 Mongoose typescript 不存在

javascript - 根据混淆后的js调整html的onClick调用

javascript - 获取带有 Masonry 对象的容器