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脚本将比缩小脚本带来更多的好处。