2016-05-16 68 views
0

我已完成angular2 tour of heroes。我想知道如果我想建立這個項目的生產。我只想添加2個文件到index.htmlappScripts.jsvendorScripts.js。 我已經編譯了我的ts文件和選項outFile,所以我有我的appScripts.js但它不起作用。下面是一些代碼在我gulpfile:如何構建用於生產的angular2應用程序

gulp.task('compile', ['clean'], function() { 

    var tsProject = typescript.createProject('tsconfig.json', { 
     outFile: 'app.js' 
    }); 

    var tsResult = gulp.src(['app/**/*.ts']) 
     .pipe(typescript(tsProject)); 
    return tsResult.js 
     .pipe(gulp.dest('./dist')); 
}); 

我想這是因爲,我們在項目中加載一些角度車型,如@angular/corets文件,因爲一些systemjs東西..

有什麼辦法呢?

+0

研究也是這樣,網上沒有太多。請分享,如果你會發現一些東西。英雄教程應用程序的遊覽總共下載數百個文件2.2 Mb。必須有一種方法來減少產品部署。 –

回答

0

我已經找到了解決方案。您應該將ts文件編譯爲js文件,然後通過systemjs-builder將它們捆綁在一起。 這是我的任務,一飲而盡:

var Builder = require("systemjs-builder"); 
gulp.task("builder", function() { 

     var builder = new Builder(); 

     builder.loadConfig('./systemjs.config.js') 
      .then(function() { 
       builder.buildStatic('dist/main.js', 'public/appScript.js') 
        .then(function() { 
         console.log('Build complete'); 
        }) 
        .catch(error); 
      }); 
}); 

buildStatic方法爲應用程序創建最終的JavaScript文件。

+0

您能否分享您的產品包的大小? – NetProvoke

+0

這是相當大的。 1 415 Kb。 –

相關問題