MVC6 新的缩小和捆绑 Bower/NPM

MVC6 new minification and bundling with Bower/NPM

我开始了解 ASP.NET 5 和 MVC 6,并且我看到了很多关于 Bower VS NPM 的互联网帖子。

还有一个用于视图中的生产。这看起来很麻烦,有没有一种简单的解决方案可以在调试时不缩小,而不必列出所有路径两次(一个缩小,一个不缩小)?

有一个 watch 版本可以缩小您的 js 文件,而另一个版本则没有。无论哪种方式,您的所有项目路径都可以指向构建的 js 文件,以避免必须为开发或生产来回切换。您需要将缩小内容从下面的 'scripts' 任务中分离出来,并创建一个任务来完成它。

//Concatenate & Minify JS
gulp.task('minscripts', function () {
    return gulp.src(config.alljs, { base: 'public/' })
        .pipe($.concat('all.js'))
        .pipe(gulp.dest('_build'))
        .pipe($.rename('all.min.js'))
        .pipe($.uglify())
        .pipe(gulp.dest(config.build));
});

gulp.task('scripts', function () {
    return gulp.src(config.alljs, { base: 'public/' })
        .pipe($.concat('all.js'))
        .pipe(gulp.dest('_build'))
        .pipe($.rename('all.min.js'))
        .pipe(gulp.dest(config.build));
});

gulp.task('watchWith', function () {
    gulp.watch('public/app/views/*.js', ['lint', 'minscripts']); //<- runs 'scripts' here
    gulp.watch('public/css/*.less', ['less']);
});

gulp.task('watchWithout', function () {
    gulp.watch('public/app/views/*.js', ['lint', 'scripts']);
    gulp.watch('public/css/*.less', ['less']);
});