简体   繁体   English

gulp将不会输出js最小文件

[英]gulp will not output js min file

Cant seem to find my problem here. 无法在这里找到我的问题。 After I run Gulp, the all-css.min.css gets outputted to _build folder but the JS will not go! 运行Gulp后,all-css.min.css会输出到_build文件夹,但是JS不会运行! am I missing something? 我错过了什么吗? Cant seem to find what is making this not work. 似乎无法找到导致此错误的原因。

var gulp = require('gulp');
var concat = require('gulp-concat');
var uglify = require('gulp-uglify');
var minifyHTML = require('gulp-minify-html');
var sourcemaps = require('gulp-sourcemaps');
var minifyCSS = require('gulp-minify-css');
var inlineCss = require('gulp-inline-css');
var rev = require("gulp-rev");
var del = require('del');

var jsBase = {
    src: [
        '/Scripts/Core/ko.bindinghandlers-1.0.0.js',
        '/Scripts/Twitter/typeahead-0.10.2.js',
        '/Scripts/LdCore/mobile-core.js',
        '/Scripts/LDCore/Chat.js',
        '/Scripts/unsure.js' // These have any unknown lines in them. 
    ]
};

gulp.task('clean', function () {
    del.sync(['_build/*'])
});

gulp.task('produce-css', function () {
    return gulp.src(cssBase.src)
    .pipe(minifyCSS({ keepBreaks: false }))
    .pipe(concat('all-css.min.css'))
    .pipe(gulp.dest('_build/'))
});


gulp.task('produce-minified-js', function () {
    return gulp.src(jsBase.src)
      //.pipe(sourcemaps.init())
      //.pipe(uglify())
      .pipe(concat('all.min.js'))
      //.pipe(rev()) // adds random numbers to end.
      //.pipe(sourcemaps.write('.'))
      .pipe(gulp.dest('_build/'));
});


gulp.task('default', ['clean'], function () {
    gulp.start('produce-css', 'produce-minified-js');
});

According to Contra at this post , we shouldn't be using gulp.start. 根据Contra这篇文章中的介绍 ,我们不应该使用gulp.start。

gulp.start is undocumented on purpose because it can lead to complicated build files and we don't want people using it gulp.start未被故意记录在案,因为它可能导致生成复杂的构建文件,并且我们不希望人们使用它

Bad: 坏:

gulp.task('default', ['clean'], function () {
    gulp.start('produce-css', 'produce-minified-js');
});

Good: 好:

gulp.task('default', ['clean','produce-css','produce-minified-js'], function () {
    // Run the dependency chains asynchronously 1st, then do nothing afterwards.
});

It's totally legit to have nothing in the gulp.task, as what it's doing is running the dependency chains asynchronously & then terminating successfully. 在gulp.task中什么也不做是完全合法的,因为它的工作是异步运行依赖关系链,然后成功终止。

You could also do the following: 您还可以执行以下操作:

gulp.task('default', ['clean','produce-css','produce-minified-js'], function (cb) {
    // Run a callback to watch the gulp CLI output messages. 
    cb();
});

Since Gulp creates "Starting default" on the CLI, this would help to display "Finished default" in the CLI after everything else runs. 由于Gulp在CLI上创建了“ Starting default”,因此在所有其他命令运行之后,这将有助于在CLI中显示“ Finished default”。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM