gulp pipe(gulp.dest())不会产生任何结果

时间:2016-01-02 10:21:30

标签: javascript gulp

我目前正在学习gulp.js. 当我看到gulp.js的教程和文档时,这段代码:

gulp.src('js/*.js')
.pipe(uglify())
.pipe(gulp.dest('minjs'));

使用名为' minjs'的新目录创建uglified javascript文件。当然,我使用--dev-save选项安装了gulp-uglity。控制台上没有错误信息,所以我不知道问题是什么。我尝试用" sudo",但仍然没有工作。

所以我去了根目录并搜索了所有文件系统,但没有名为' minjs'所以我猜它只是不起作用。为什么会这样?任何人都知道这个问题,为什么会发生这种情况会很好。

整个源代码:

var gulp = require('gulp');
var uglify = require('gulp-uglify');

gulp.task('default', function() {
    console.log('mifying scripts...');

    gulp.src('js/*.js')
    .pipe(uglify())
    .pipe(gulp.dest('minjs'));
});

2 个答案:

答案 0 :(得分:9)

我有同样的问题,你必须在函数内返回任务:

gulp.task('default', function() {
 return gulp.src("js/*.js")
    .pipe(uglify())
    .pipe(gulp.dest('minjs'));

此外,minjs不会是文件,而是文件夹,所有缩小的文件都将被保存。

最后,如果您只想缩小1个文件,可以直接指定,与目的地的位置相同。

例如:

var gulp = require('gulp');
var browserify = require('browserify');
var source = require('vinyl-source-stream');
var uglify = require('gulp-uglify');    

gulp.task('browserify', function() {
    return browserify('./src/client/app.js')
        .bundle()
        //Pass desired output filename to vinyl-source-stream
        .pipe(source('main.js'))
        // Start piping stream to tasks!
        .pipe(gulp.dest('./public/'));
});

    gulp.task('build', ['browserify'], function() {
         return gulp.src("./public/main.js")
            .pipe(uglify())
            .pipe(gulp.dest('./public/'));
    });

希望它有所帮助!

答案 1 :(得分:0)

最后我解决了这样的问题

这是一个目录错误,因此gulp任务没有收集任何匹配的文件,因此不会创建任何dest目录(因为输出中没有文件)

喜欢我

const paths = {
  dest: {
    lib: './lib',
    esm: './esm',
    dist: './dist',
  },
  styles: 'src/components/**/*.less',
  scripts: ['src/components/**/*.{ts,tsx}', '!src/components/**/demo/*.{ts,tsx}'],
};

起初我的脚本是['components/**/*.{ts,tsx}', '!components/**/demo/*.{ts,tsx}']

它没有匹配任何文件。