使用gulp部署Angular2(RC5)核心

时间:2016-08-27 07:05:00

标签: angular deployment gulp-typescript

我即将部署我的Angular2(基于RC5)应用程序。但是,我非常挣扎。我管理(主要是https://stackoverflow.com/a/36315060/2332153之后)使用gulp-typescript在一个uglified文件中部署我自己的代码。

然而,当我尝试捆绑供应商代码并在浏览器中运行它时,它告诉我@angular/platform-browser-dynamic@angular/core和其他一些代码(http,表单,路由器,平台浏览器)不能被发现(即404)。

现在,我的问题不在于此错误的来源(我相信我错误配置了供应商文件的捆绑),而是如何正确捆绑我的供应商文件?目前,我正在做以下事情(gulp):

gulp.task('vendor-bundle', function() {
    gulp.src([
            'node_modules/core-js/client/shim.min.js',
            'node_modules/zone.js/dist/zone.js',
            'node_modules/reflect-metadata/Reflect.js',
            'node_modules/systemjs/dist/system.src.js',
            'node_modules/rxjs/bundles/Rx.js',
            'node_modules/@angular/common/bundles/common.umd.min.js',
            'node_modules/@angular/compiler/bundles/compiler.umd.min.js',
            'node_modules/@angular/core/bundles/core.umd.min.js',
            'node_modules/@angular/forms/bundles/forms.umd.min.js',
            'node_modules/@angular/http/bundles/http.umd.min.js',
            'node_modules/@angular/platform-browser/bundles/platform-browser.umd.min.js',
            'node_modules/@angular/platform-browser-dynamic/bundles/platform-browser-dynamic.umd.min.js',
            'node_modules/@angular/router/bundles/router.umd.min.js',
            'node_modules/@angular/router-deprecated/bundles/router-deprecated.umd.min.js',
            'node_modules/@angular/upgrade/bundles/upgrade.umd.min.js',

            'node_modules/crypto-js/crypto-js.js',
            'node_modules/dragula/dist/dragula.min.js',
            'node_modules/jquery/dist/jquery.min.js',
            'node_modules/bootstrap/dist/js/bootstrap.min.js',
            'node_modules/papaparse/papaparse.min.js',
            'node_modules/chart.js/dist/Chart.bundle.min.js',
            'node_modules/showdown/dist/showdown.min.js'
        ])
        .pipe(concat('vendors.min.js'))
        .pipe(uglify())
        .pipe(gulp.dest('./dist'));
});

为了完整起见,请参阅我的代码以捆绑应用程序文件。然而,我想再次指出,问题似乎是供应商捆绑。

gulp.task('app-bundle', function () {
    var tsProject = ts.createProject('tsconfig.json', {
            typescript: require('typescript'),
            outFile: 'app.js'
        });
    var tsResult = gulp.src('./app/**/*.ts')
        .pipe(ts(tsProject));
    return tsResult.js.pipe(concat('app.min.js'))
        .pipe(uglify())
        .pipe(gulp.dest('./dist'));
});

如何正确捆绑供应商文件?

非常感谢和最诚挚的问候, 马里奥

0 个答案:

没有答案