如何为生产构建angular2应用程序

时间:2016-05-16 12:31:10

标签: javascript angularjs angular gulp systemjs

我已完成angular2 tour of heroes。我想知道如果我想建立这个项目用于生产。我只想向index.html添加2个文件:appScripts.jsvendorScripts.js。 我已使用选项ts编译了outFile个文件,因此我拥有了appScripts.js,但它不起作用。这是我的gulpfile中的一些代码:

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/core文件中加载了一些像ts这样的角度模型,并且因为一些systemjs的东西......

有没有解决方案?

1 个答案:

答案 0 :(得分: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文件。