Angular2应用程序初始加载问题。 typescript.js文件是4.75MB

我为我的J2EE应用程序(Spring MVC)使用Angular2。 我已经实现了延迟加载 ,但它仍然需要更多的时间(大约2分钟!!! )加载最初。

有两个大文件正在加载:
typescript.js:4.75 MB
compiler.umd.js:0.98 MB

而typescript.js文件不是caching。 每次重新加载它的下载。

我的systemjs.config.js文件是:

System .config({ transpiler : 'ts', typescriptOptions : { "target" : "es5", "module" : "commonjs", "moduleResolution" : "node", "sourceMap" : true, "emitDecoratorMetadata" : true, "experimentalDecorators" : true, "lib" : [ "es2015", "dom" ], "noImplicitAny" : true, "suppressImplicitAnyIndexErrors" : true }, meta : { 'typescript' : { "exports" : "ts" } }, paths : { 'npm:' : 'uploads/node_modules/' }, map : { 'app' : 'app', '@angular/animations' : 'npm:@angular/animations/bundles/animations.umd.js', '@angular/animations/browser' : 'npm:@angular/animations/bundles/animations-browser.umd.js', '@angular/core' : 'npm:@angular/core/bundles/core.umd.js', '@angular/common' : 'npm:@angular/common/bundles/common.umd.js', '@angular/compiler' : 'npm:@angular/compiler/bundles/compiler.umd.js', '@angular/platform-browser' : 'npm:@angular/platform-browser/bundles/platform-browser.umd.js', '@angular/platform-browser/animations' : 'npm:@angular/platform-browser/bundles/platform-browser-animations.umd.js', '@angular/platform-browser-dynamic' : 'npm:@angular/platform-browser-dynamic/bundles/platform-browser-dynamic.umd.js', '@angular/http' : 'npm:@angular/http/bundles/http.umd.js', '@angular/router' : 'npm:@angular/router/bundles/router.umd.js', '@angular/router/upgrade' : 'npm:@angular/router/bundles/router-upgrade.umd.js', '@angular/forms' : 'npm:@angular/forms/bundles/forms.umd.js', '@angular/upgrade' : 'npm:@angular/upgrade/bundles/upgrade.umd.js', '@angular/upgrade/static' : 'npm:@angular/upgrade/bundles/upgrade-static.umd.js', // other libraries using node_modules 'rxjs' : 'npm:rxjs', 'angular-in-memory-web-api' : 'npm:angular-in-memory-web-api/bundles/in-memory-web-api.umd.js', 'ts' : 'npm:plugin-typescript/lib/plugin.js', 'typescript' : 'npm:typescript/lib/typescript.js', 'angular2-datatable' : 'npm:angular2-datatable', 'lodash' : 'npm:lodash/lodash.js', 'angular2-datatable-pagination' : 'npm:angular2-datatable-pagination', 'jquery' : 'lib/jquery/jquery-3.2.0.min.js', 'ngx-pagination' : 'lib/ngxpagination/ngx-pagination.js', }, packages : { app : { defaultExtension : 'ts' }, rxjs : { defaultExtension : 'js' }, 'angular2-datatable' : { main : 'index.js', defaultExtension : 'js' } }, "scripts" : [ "lib/jquery/jquery-3.2.0.min.js" ] }); 

有没有办法来减less这两个文件(typescript.js,compiler.umd.js)的大小?

它是一个电子商务应用程序。 所以我应该解决这个问题。 请分享此问题的任何解决scheme。

谢谢

我强烈build议您将Angular 2项目更新为Angular 4项目。 Angular 4的一个特点是它的尺寸小了60%。 Angular 2和4是兼容的,有一些东西会像typeScript和rxjs那样需要更新。 这花了大约2或3个小时才能完成。

你也可以使用时间编译器进行编译 ,这也会提高速度。

这里是一个文章更新到angular4如文章所述,你可以运行命令:

(视窗)

npm install @ angular / common @ latest @ angular / compiler @ latest @ angular / compiler-cli @ latest @ angular / core @ latest @ angular / forms @ latest @ angular / http @ latest @ angular / platform-b​​rowser @ latest @angular / platform-b​​rowser-dynamic @ latest @ angular / platform-server @ latest @ angular / router @ latest @ angular / animations @ latest typescript @ latest –save

(Linux)的

npm install @ angular / {common,编译器,编译器cli,核心,表单,http,平台浏览器,平台浏览器dynamic,平台服务器,路由器,animation} @latest typescript @ latest –save

祝一切顺利!

那么,据我所知,你不能缩小TypeScript。 但是其他解决scheme很less,你可以在这里find:

是否有可能将打字稿编译成缩小的代码?

但你也应该检查你的代码,并清理所有未使用的方法,导入,…