Tag: gulp watch

当失败的任务使用stream队列时,Gulp手表退出

我正在看像这样的文件的变化: gulp.watch(['./src/js/**/*', './src/templates/**/*', config.vendor.js], ['js']); 我的构build过程的一部分涉及使用“angular-filesort”模块(不要以为这是重要的)。 如果我执行如下任务,并使用pipe道工,当文件系统失败吞咽不退出,“看”将继续检查更新这是我想要的: gulp.task('js', function() { gulp.src('./src/js/**/*.js').pipe(plumber()).pipe(angularFilesort()); }); 但是,如果我用stream队列结束这个过程,当我不想要的时候,gort将会退出, gulp.task('js', function() { streamqueue({ objectMode: true }, gulp.src('./src/js/**/*.js').pipe(plumber()).pipe(angularFilesort()) ) }); 我怎样才能解决这个问题? 具体来说,我正在做这样的事情来处理3个不同的JavaScript文件,然后将它们拼接起来: streamqueue({ objectMode: true }, gulp.src(config.vendor.js), gulp.src('./src/js/**/*.js').pipe(angularFilesort()), gulp.src(['src/templates/**/*.html']).pipe(templateCache({ module: mainAngularModuleName }))) .pipe(sourcemaps.init()) .pipe(concat('app.js')) etc. 有没有可能的方式,我可以做到上述没有stream列解决这个问题?

Gulp手表失败与产卵EACCES错误

任何想法是什么导致这个错误? 我的咕噜声观察声明: gulp.task('watch', function() { gulp.watch('app/**/**/*.html', ['html-templates']).on('change', function(file) { gutil.log(gutil.colors.yellow.bold('HTML updated' + ' (' + file.path + ')')); }); gulp.watch('app/assets/imgs/*.svg').on('change', function(file) { gutil.log(gutil.colors.magenta('SVG updated' + ' (' + file.path + ')')); }); gulp.watch('bower_components/sass-smacss/sass/**/*.scss', ['app-css']).on('change', function(file) { gutil.log(gutil.colors.cyan.bold('CSS updated' + ' (' + file.path + ')')); }); gulp.watch('highcharts/js/*.js', ['highcharts-js']).on('change', function(file) { gutil.log(gutil.colors.red.bold('JavaScript updated' + ' (' […]

在gulp-watch上运行可执行文件

我想运行一个可执行文件或一个“非JavaScript脚本”事件add使用gulp-watch (所以服务器/开发人员,而不是用户端)。 从四处search我猜我需要使用ajax因为我想避免PHP,但这似乎有点迂回。 是否有可能使用node.js来代替?

gulp.watch不按顺序运行任务

目的 创buildgulp.watch任务以按特定顺序运行其他任务 为什么这不是重复的 许多人build议我看一下如何依次运行Gulp任务 。 然而,这个问题集中在gulp.task而我的问题集中在gulp.watch 。 我正在寻找的解决scheme是使用gulp.watch来实现我之后的同步效果。 如果这是不可能的,我会回落到gulp.task 。 背景 我有一个小项目,我有一些testing文件,以及吞咽gulp-complexity插件。 我希望先运行testing文件,然后每次更改JavaScript文件时运行gulp-complexity插件。 我曾经尝试过 我阅读文档,看到以下教程: https://github.com/gulpjs/gulp/blob/master/docs/API.md https://www.smashingmagazine.com/2014/06/building-with-gulp/ 他们是非常好的,但我仍然不明白我怎么可以有一个gulp.watch任务同步运行任务(以特定的顺序),而不是asynchronous运行它们。 码 这是我到目前为止: var gulp = require("gulp"); var mocha = require("gulp-mocha"); var complexity = require("gulp-complexity"); gulp.task("test", function(){ gulp .src("./test.js") .pipe(mocha()) .on("error", function(){ this.emit("end"); }); }); gulp.task("complexity", ["test"], function(){ gulp.src('*.js').pipe(complexity()); }); gulp.task("watch", function(){ gulp.watch("./*.js", ["test", "complexity"]); }); 我在这里做错了什么? 请记住,我还是很新的(今天开始学习!),所以对我的问题的任何解释将受到欢迎!

给予模块错误的gulp命令找不到

我正试图在Windows上设置基本的aurelia应用程序。 我遵循了http://aurelia.io/get-started.html的说明 ,其中包括: 安装节点js 安装使用: npm install -g gulp 通过使用安装jspn: npm install -g jspm 然后从https://github.com/aurelia/skeleton-navigation/releases下载示例源代码到项目文件夹。 打开一个控制台,并改为项目目录即。 导航应用 执行命令: npm install 执行命令: jspm install -y 最后用命令: gulp watch启动服务器 以上所有步骤都成功完成,除了第8步,这是一个错误: E:\aurelia\navigation-app>gulp watch module.js:338 throw err; ^ Error: Cannot find module 'debug/node' at Function.Module._resolveFilename (module.js:336:15) at Function.Module._load (module.js:278:25) at Module.require (module.js:365:17) at require (module.js:384:17) at Object.<anonymous> (E:\aurelia\navigation-app\node_modules\gulp-babel\nod e_modules\babel-core\lib\babel\util.js:22:34) […]

gulp.js服务src文件没有browserSync?

与Yeoman Gulp-Angular搭build了一个新项目。 我明白BrowserSync的前提,但坦率地说,我不能理解任何人如何容忍他们的networking请求泛滥: 我想立即从我的项目中删除BrowserSync。 如何纠正下面的代码,以便gulp serve并执行预览未缩小的src文件的相同function,但是不使用BrowserSync? 这里是我现在的gulp/server.js ,由gulp-angular生成的默认值: 'use strict'; var gulp = require('gulp'); var browserSync = require('browser-sync'); var browserSyncSpa = require('browser-sync-spa'); var util = require('util'); var middleware = require('./proxy'); module.exports = function(options) { function browserSyncInit(baseDir, browser) { browser = browser === undefined ? 'default' : browser; var routes = null; if(baseDir === options.src || […]

Browserify错误结束吞噬观察任务

我在我的gulpfile.js中有以下设置: gulp.task('browserify', function() { browserify(config.paths.browserifyEntry) .transform(reactify) .bundle() .pipe(source('master.js')) .pipe(gulp.dest(config.paths.dist)) //.pipe(connect.reload()); }); gulp.task('watch', function () { gulp.watch(config.paths.components, ['browserify']); gulp.watch(config.paths.sassSource, ['sass']); }); 这一切都工作完美,直到我写代码导致浏览错误。 这经常发生,因为我正在编辑一个文件中的代码,这个文件依赖于我还没有在另一个文件中做出的更改,并将错误浏览出来。 问题是,当浏览错误结束了观看任务。 我会期望,当浏览错误,它只是没有完成它的任务,但手表将继续,所以当我做了其他更改,这将允许browserify成功运行它会这样做。 这是有问题的做出更改,然后重新加载浏览器,并发现它不能工作,只是发现由于检查错误,当你的代码是在一个错误的状态观察过程结束。 是否有办法吞下该错误,以便它不会停止监视过程? 还是有另一个NPM包,观看文件,并不会被浏览错误绊倒?

咕嘟咕嘟咕嘟咕嘟咕嘟咕嘟咕嘟咕嘟咕

我正在使用gulp-inject来自动添加SASS导入,因为它们是在我的项目中新build的。 这工作正常,新的SASS文件被正确导入,但是当已经导入的文件被删除,而gulp-watch正在运行它崩溃与以下错误: Error: _dev\style\style.scss Error: File to import not found or unreadable: components/_test – Copy.scss Parent style sheet: stdin on line 2 of stdin >> @import "components/_test – Copy.scss"; 我已经花了好几个小时试图弄清楚为什么它试图编译过时的导入的旧版本的样式表。 我在SASS任务上设置了一个延迟,并且在运行的时候,实际文件中的导入是正确的。 我已经读过了,可能是caching的stylehseet,但真的不知道。 下面是我的Gulp文件的相关位,在底部是一个链接到我的完整吞噬文件。 这是我的监视任务:(组件任务触发SASS任务) // SASS plugins.watch([paths.dev+'/**/*.scss',!paths.dev+'/style/components/**/*.scss'], function () {gulp.start(gulpsync.sync([ 'build-sass' ]));}); // COMPONENTS plugins.watch(paths.dev+'/style/components/**/*.scss', function () {gulp.start(gulpsync.sync([ 'inject-deps' ]));}); SASS任务 gulp.task('build-sass', function() { // […]