Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何缩小AMD Typescript浏览器项目_Javascript_Typescript_Minify - Fatal编程技术网

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

Javascript 如何缩小AMD Typescript浏览器项目,javascript,typescript,minify,Javascript,Typescript,Minify,我有一个具有以下结构的项目: myproject | +-src | | | +-main.ts | +-stringHandler.ts | +-disposable.ts | +-tsconfig.ts +-out 我使用以下tsconfig.json文件使用并编译项目:tsc--project src: { "compilerOptions": { "target": "ES5", "noImplicitAny": tru

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

myproject
 |
 +-src
 |  |
 |  +-main.ts
 |  +-stringHandler.ts
 |  +-disposable.ts
 |  +-tsconfig.ts
 +-out
我使用以下
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
文件和垫片

requirejs.config({
    enforceDefine: true,
    paths: {
        jquery: [
            'lib/jquery.min',
            'lib/jquery'
        ]
    }
});
一个或两个文件可以,但不是整个项目。。。因此,选项二是将文件缩小到一个文件夹中,并允许它们保留原始名称

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


选项四是使用RequireJS优化器,它将通过查看所有代码并整理模块来创建单个文件。。。最后留下一大堆JavaScript。

尝试使用
out
编译器选项而不是
outDir
来生成一个js文件,然后将其最小化。这不是推荐的方法,我也使用
AMD
来加载这些模块。。。这将是毫无意义的使用AMD,然后创建一个js球!我认为AMD/requireJS的优点之一是能够在一次下载中加载所有模块。参见@billc.cn AMD代表“异步模块定义”。它按需异步加载。。。因此,如果您从不需要某个特定模块,它将永远不会加载,如果您需要,它也会加载。实际上,单独加载每个模块的大量HTTP请求的开销可能比加载一个大代码球的开销更大。告诉您的Web服务器使用gzip脚本将比缩小脚本带来更多的好处。