Tag: gulp

检查Gulp中是否存在文件

我需要检查一个文件是否存在于一个吞吐任务中,我知道我可以使用节点的一些节点function,有两个: fs.exists()和fs.existsSync() 问题是在节点文档中,是说这些函数将被弃用

如何从节点脚本运行gulp任务

我有一个节点脚本,我想在同一个脚本中运行一个吞吐任务,我该如何调用它? #!/usr/bin/env node var gulp = require('gulp'); gulp.task('default', function (arg) { }); // How do I call the task 'default'

我可以使用具有多个来源和多个目的地的Gulp任务吗?

我在我的gulpfile.js中有以下内容: var sass_paths = [ './httpdocs-site1/media/sass/**/*.scss', './httpdocs-site2/media/sass/**/*.scss', './httpdocs-site3/media/sass/**/*.scss' ]; gulp.task('sass', function() { return gulp.src(sass_paths) .pipe(sass({errLogToConsole: true})) .pipe(autoprefixer('last 4 version')) .pipe(minifyCSS({keepBreaks:true})) .pipe(rename({ suffix: '.min'})) .pipe(gulp.dest(???)); }); 我想输出我缩小的CSS文件到以下path: ./httpdocs-site1/media/css ./httpdocs-site2/media/css ./httpdocs-site3/media/css 我误解如何使用来源/目的地? 还是我想在一个任务中完成太多? 编辑:更新输出path到相应的站点目录。

如何用browserify和gulp输出多个包

我浏览了捆绑文件,它工作得很好。 但是如果我需要生成多个捆绑包呢? 我想结束dist/appBundle.js和dist/publicBundle.js gulp.task("js", function(){ return browserify([ "./js/app.js", "./js/public.js" ]) .bundle() .pipe(source("bundle.js")) .pipe(gulp.dest("./dist")); }); 显然这是不行的,因为我只指定一个输出(bundle.js)。 我可以通过重复上面的说法来完成这个工作(但是由于重复,这个说法并不正确): gulp.task("js", function(){ browserify([ "./js/app.js" ]) .bundle() .pipe(source("appBundle.js")) .pipe(gulp.dest("./dist")); browserify([ "./js/public.js" ]) .bundle() .pipe(source("publicBundle.js")) .pipe(gulp.dest("./dist")); }); 有没有更好的方法来解决这个问题? 谢谢!

Glob / minimatch:如何gulp.src()的一切,然后排除文件夹,但保留一个文件

我有这样一个项目: root |-incl1 |-incl2 |- … |-excl1 |-excl2 |- .gitignore <– keep this one |- (other files) <– exclude them 我需要编写gulp.src() ,它将包含除excl1和excl2之外的所有文件夹, 但保留.gitignore文件。 这是我的代码不起作用: gulp.src([ baseDir + '/**', '!' + baseDir + '/{excl1, excl1/**}' '!' + baseDir + '/excl2/{**, !.gitignore}' // <– doesn't work ], {dot: true})

events.js:141扔呃; //未处理“错误”事件

我试图在Mac OS上运行节点4.2.2,我不明白为什么每次我得到这个错误信息: events.js:141 throw er; // Unhandled 'error' event ^ Error: spawn /Users/user/Documents/Projects/project-x/node_modules/gifsicle/vendor/gifsicle ENOENT at exports._errnoException (util.js:874:11) at Process.ChildProcess._handle.onexit (internal/child_process.js:178:32) at onErrorNT (internal/child_process.js:344:16) at doNTCallback2 (node.js:441:9) at process._tickCallback (node.js:355:17) c12320:project-x user$ 怎么了? 如果我运行“gulp构build”有这样的输出: c12320:project-x user$ gulp build [15:13:41] Using gulpfile ~/Documents/Projects/project-x/gulpfile.js [15:13:41] Starting 'clean'… [15:13:41] Finished 'clean' after 160 μs [15:13:41] Starting 'build'… [15:13:41] Starting […]

使用Gulp.js和globbing模式修改文件(相同的目标)

我有一个尝试将.scss文件转换成.css文件(使用gulp-ruby-sass)的gulp任务,然后将得到的.css文件放到find原始文件的相同位置。 问题是,因为我正在使用globbing模式,所以我不一定知道原始文件的存储位置。 在下面的代码中,我试图用gulp-tap来进入stream,并找出当前文件stream的读取文件path: gulp.task('convertSass', function() { var fileLocation = ""; gulp.src("sass/**/*.scss") .pipe(sass()) .pipe(tap(function(file,t){ fileLocation = path.dirname(file.path); console.log(fileLocation); })) .pipe(gulp.dest(fileLocation)); }); 基于console.log(fileLocation)的输出,这段代码看起来应该可以正常工作。 但是,由此产生的CSS文件似乎被放在比我预期的更高的目录。 它应该是project/sass/partials ,结果文件path只是project/partials 。 如果有这样一个更简单的方法,我一定会更加欣赏这个解决scheme。 谢谢!