node.js - 如何在单个 Gulpjs 任务中添加已经缩小的文件?

标签 node.js gruntjs gulp

我想尝试 Gulpjs,因为它看起来非常快。我无法理解如何在 Gulpjs 中翻译以下(部分)Gruntjs 配置。

基本上,目的是丑化项目文件加上一些外部依赖项(尚未缩小)并在前面添加一些已经缩小的依赖项,以避免对已经缩小的源进行缩小过程。

uglify: {
    dist: {
        src: [
            '<%= deps %>/bootstrap-daterangepicker/daterangepicker.js',
            '<%= deps %>/smalot-bootstrap-datetimepicker/js/locales/*.js',
            'src/js/**/*.js',
        ],
        dest: '<%= clean.dist %>/js/<%= pkg.name %>.min.js'
    }
},

concat: {
    dist: {
        src: [
            '<%= deps %>/jquery/dist/jquery.min.js',
            '<%= deps %>/bootstrap/dist/js/bootstrap.min.js',
            '<%= deps %>/momentjs/min/moment-with-langs.min.js',
            '<%= uglify.dist.dest %>'
        ],
        dest: '<%= uglify.dist.dest %>'
    }
},

我如何在 Gulpjs 中做同样的事情?这可能吗?

现在我的任务(不工作,结果只是jquery.min.js的内容)看起来像:

gulp.task('uglify', function() {
    gulp.src([
        './bower_components/bootstrap-daterangepicker/daterangepicker.js',
        './bower_components/smalot-bootstrap-datetimepicker/js/locales/*.js',
        './src/js/**/*.js'
    ])
    .pipe(uglify())
    .pipe(concat('admin-template.js'))
    .pipe(gulp.dest('./dist/js'));
});

// Doesn't work
gulp.task('concat', ['uglify'], function () {
    gulp.src([
        'bower_components/jquery/dist/jquery.min.js',
        './dist/js/admin-template.js' // output of uglify task
    ])
    .pipe(concat('admin-template.js'))
    .pipe(gulp.dest('./dist/js/'));
});

最佳答案

如果您希望“concat”任务取决于“uglify”任务的成功完成,则需要从“uglify”任务返回流(或使用 another method )。

无论哪种方式,您都应该简化它。

您可以看看这个other SO thread寻求想法。我可能会使用 gulp-if 或 event-stream。

也看看这里:https://github.com/gulpjs/gulp/blob/master/docs/recipes/using-multiple-sources-in-one-task.md

关于node.js - 如何在单个 Gulpjs 任务中添加已经缩小的文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22132295/

相关文章:

javascript - 映射具有用户 ID 的对象数组并从该用户 ID 获取用户详细信息

javascript - 如何定义一个将 Promise 返回到 Express Route 函数的函数?

node.js - 亚马逊 EC2 微型实例是否足以进行简单的 node.js 和 redis 设置?

gulp - webpack uglify 的很多警告

node.js - 复合 JS 关系访问

javascript - Grunt - usemin 总是将 dist/directory 留空

node.js - 我正在用 Yeoman 克隆一个 repo,我的电脑需要什么配置?

javascript - 在 Grunt uglifyjs 中禁止来自控制台的 WARN 语句

javascript - Webpack DllPlugin with gulp : Cannot find module '... vendor-manifest.json'

angularjs - ASP.NET MVC、AngularJS、Bower 和部署站点文件夹结构