在项目构建时没有调用Gulp

时间:2016-05-17 18:46:22

标签: visual-studio visual-studio-2015 gulp

根据this tutorial的第5步,当我构建项目时,Gulp应将node_modules文件夹的内容复制到wwwroot

但是,它没有这样做。我已经尝试勾选项目属性页面中的方框(不知道是否应该有所不同或不同)。

tick boxes on project build are ticked

gulpfile.js看起来像这样:

var ts = require('gulp-typescript');
var gulp = require('gulp');
var clean = require('gulp-clean');

var destPath = './wwwroot/libs/';

// Delete the dist directory
gulp.task('clean', function () {
    return gulp.src(destPath)
        .pipe(clean());
});

gulp.task("scriptsNStyles", () => {
    gulp.src([
            'es6-shim/es6-shim.min.js',
            'systemjs/dist/system-polyfills.js',
            'systemjs/dist/system.src.js',
            'reflect-metadata/Reflect.js',
            'rxjs/**',
            'zone.js/dist/**',
            '@angular/**',
            'jquery/dist/jquery.*js',
            'bootstrap/dist/js/bootstrap.*js',
    ], {
        cwd: "node_modules/**"
    })
        .pipe(gulp.dest("./wwwroot/libs"));

    gulp.src([
        'node_modules/bootstrap/dist/css/bootstrap.css'
    ]).pipe(gulp.dest('./wwwroot/libs/css'));
});

var tsProject = ts.createProject('scripts/tsconfig.json');
gulp.task('ts', function (done) {
    //var tsResult = tsProject.src()
    var tsResult = gulp.src([
            "scripts/*.ts"
    ])
        .pipe(ts(tsProject), undefined, ts.reporter.fullReporter());
    return tsResult.js.pipe(gulp.dest('./wwwroot/appScripts'));
});

gulp.task('watch', ['watch.ts']);

gulp.task('watch.ts', ['ts'], function () {
    return gulp.watch('scripts/*.ts', ['ts']);
});

gulp.task('default', ['scriptsNStyles', 'watch']);

说实话,我正在努力调试,因为我不知道应该在构建时调用Gulp。

任何澄清都会非常有用。

干杯

1 个答案:

答案 0 :(得分:0)

教程中似乎缺少一个步骤。您需要设置绑定以在项目构建时运行Gulp任务。

要执行此操作,请打开Task Runner Explorer窗口(查看 - >其他Windows - > Task Runner Explorer)。这应列出gulpfile.js中的所有Gulp任务。右键单击要在构建时运行的那个(可能是default)并选择Bindings - >建成之后。您也可以通过右键单击并选择“运行”来手动运行任务。

Task Runner Explorer Bindings