Articles of gulp

节点/吞吐同步删除任务内的目录

我有这样一个任务: gulp.task('test', function(){ del('./build'); gulp.src('./test/**/*') .pipe(gulp.dest('./build')); }); 实质上,这应该是首先删除生成目录,然后它应该复制一堆文件到一个新的生成目录。 我的问题:这两个命令是asynchronous还是同步? 在将文件复制到相同目录的新版本之前, del运行并完成显然是非常重要的。 如果他们是asynchronous的,那么我如何让他们同步运行? 我唯一的select是将它们分解为单独的任务,并让del任务依赖于“复制任务”? 在单个任务中没有办法使stream同步?

如何以特定顺序运行Gulp任务

我正在使用runsequence插件。 但似乎我做错了,所以它不工作。 我正在尝试创buildbrowserify构build并使用运行序列gulp插件在服务器上使用我的handlebars预编译模板进行连接。 在gulpfile相应的任务看起来像这样: gulp.task("browserify", function () { gulp.src('src/js/map.js') .pipe(browserify({ insertGlobals: false, debug: false })) .pipe(gulp.dest('build')) .pipe(notify({ message: "browserify ended" })); }); gulp.task("scripts", function () { var newDir; newDir = './build/1111'; gulp.src(['./build/map.js', './build/templates/templates.js']) .pipe(concat('build.js')) .pipe(gulp.dest(newDir)) .pipe(notify({ message: "scripts build ended" })); }); gulp.task('default', function () { runSequence( 'browserify', 'scripts' ); }); 但是在browserify任务完成之前,实际上脚本任务正在​​尝试调用。 所以我得到这个输出: $ gulp […]

使用Bower和Gulp命名约定和文件放置

我刚刚开始与Bower和Gulp合作。 我有一个bower.json列出我的依赖,一个gulpfile.js与字体,CSS,JS等任务和一个package.json列表吞没依赖,等等。 我只有那些在版本控制下的文件,并且作为一个testing在其他地方检出了版本库,并设法安装了吞吐和依赖关系,并且用gulp构build了所有的东西。 然后我有目录bower_components , node_modules和build ,这是由node_modules创build的。 什么是现在正常的地方把我自己的代码? 我应该简单地在项目的根目录中创build另一个目录, src或app等,并让gulp缩小它,并将其放置在build目录中? 是否有任何我应该知道的命名约定? 所以,我目前的目录结构是: 根 bower_components bootstrap,bootswatch,jquery,… node_modules 吞,吞,*,… build立 资产 CSS,字体,IMG,JS,… bower.json gulpfile.json 的package.json

全局安装package.json依赖关系

有以下依赖的'package.json'文件: { "name": "xxx_web_app", "version": "1.0.0", "description": "", "main": "gulpfile.js", "scripts": { "test": "echo \"Error: no test specified\" && exit 1" }, "repository": { "type": "git", "url": "some.git" }, "author": "", "license": "ISC", "dependencies": { "bower": "^1.4.1", "connect-history-api-fallback": "^1.1.0", "gulp": "^3.8.11", "gulp-clean": "^0.3.1", "gulp-coffee": "^2.3.1", "gulp-connect": "^2.2.0", "gulp-jshint": "^1.10.0", "gulp-minify-css": "^1.1.1", "gulp-sass": "^1.3.3", "gulp-slim": "^0.1.0", […]

gulp复制单个文件(srcpipe道dest)与通配目录

我正在尝试复制特定的文件src C:\Project\dir1\dirv-1.0.0\tools\file.exe到特定的目录dest C:\Project\dir2\ using gulp。 dirv-1.0.0的版本号可能在将来会改变,所以我dirv-1.0.0配版本号。 这是我的任务( gulpfile.js是在C:\Project ): gulp.task('copy', function(){ return gulp .src('dir1\dirv-*\tools\file.exe') .pipe(gulp.dest('dir2')); }); 这最终生成以下dest文件: C:\Project\dir2\dirv-1.0.0\tools\file.exe 。 我想要的是C:\Project\dir2\file.exe 。 我如何做这个吞噬复制任务,以便我可以通配符srcpath,但只复制file.exe到destpath?

gulp任务不访问karma.conf.js文件

我正在使用下面的gulp任务来执行karma / jasmineunit testing用例。 然而,由于某种原因,我无法访问karma.conf.js文件。 当我使用这个path包来访问karma.conf.js文件时,会发生这个问题。 吞噬任务 gulp.task('tdd', function (done) { karma.start({ configFile: fs.readFile(path.join(__dirname, '../Tests/karma.conf.js')), singleRun: true }, done); }); 错误我越来越 PS C:\Users\dell pc\Documents\Work\WebApiRole> gulp tdd [13:47:58] Using gulpfile ~\Documents\Work\WebApiRole\Gulpfile.js [13:47:58] Starting 'tdd'… INFO [karma]: Karma v0.12.32 server started at http://localhost:9876/ 它只是在上面的状态永远等待。 但是当像这样访问文件configFile: __dirname, '../Tests/karma.conf.js' (没有fs.readFile(path.join ),那么karma.conf.js成功访问karma.conf.js文件。 有人能给我一个关于我在这里做错了什么的想法吗?

无法使用常规更新日志生成更新日志

我正在尝试为正在工作的新项目build立一个新的工作stream程。 我真的想使用常规更新日志,但目前是不可能使我的工作。 首先,我甚至不能让cli工具工作。 我安装了全局的,但每次我试图运行: conventional-changelog –help在shell上,它说: conventional-changelog: command not found ,但如果我使npm ls -g -depth=0我可以请参阅列出的常规–changelog@0.0.17软件包。 我遇到的另一个问题是我无法创build更新日志。 我已经有一些提交(实际上只有一个)的angular度格式。 就像这样: feat(): onUrlChange event (popstate/hashchange/polling) (这是一个从文档复制的例子,用于debugging) 我在根上也有一个CHANGELOG.md空文件,我用下面的方法创build了一个test.js文件: var conventionalChangelog = require('conventional-changelog'); conventionalChangelog({ preset: 'angular' }) .pipe(process.stdout); 每当运行节点testing我得到: conventionalChangelog().pipe(process.stdout); ^ TypeError: Cannot read property 'pipe' of undefined at Object.<anonymous> (/Users/antonio/Projects/cabesa/test.js:45:24) at Module._compile (module.js:460:26) at Object.Module._extensions..js (module.js:478:10) at Module.load (module.js:355:32) at […]

$是没有定义的脚本Gulp任务

嗨,我正在尝试运行我的脚本任务吞咽。 我的脚本path定义如下: scripts: { coffee: [ 'app/assets/scripts/**/*.coffee' ], js: [ 'src/js/*', 'src/js/**/*' ], map: ['src/js/**/*.map'] }, 我的原始文件path位于root / src / js /中,我希望我的脚本放在root / app / assets / scripts /中的缩小版本中。 我的g task任务如下: gulp.task('scripts', function() { return gulp.src('app/scripts/**/*.js') .pipe($.if('*.js', $.uglify({preserveComments: 'some'}))) .pipe($.sourcemaps.init()) .pipe($.concat('app.js')) .pipe($.sourcemaps.write('./')) .pipe(gulp.dest('app/assets/scripts')); }); But for some reason I keep getting this error [13:28:46] ReferenceError: […]

MAC OS X上的npm,node-gyp和gulp问题Yosemite 10.10.5

我在我的MAC上安装npm , node-gyp和gulp有问题。 我需要这个Laravel项目。 我在整个互联网做了我的研究,但是我找不到解决scheme为我工作。 似乎path出了问题。 我试过了: 通过网站nodejs.org安装节点/ npm,这似乎安装正常。 尝试使用node -v和npm -v所有内容都可以在全局访问。 通过自制程序安装npm。 也可以,但不会安装所有的依赖关系。 说到安装gulp和node-gyp,一切都出错了。 我尝试使用npm install -g gulp但我无法访问应用程序文件,也无法访问全局或通过安装path。 如果您需要更多信息,请告诉我! 非常感谢你的帮助! UPDATE 我已经按照这里的说明。 一切工作正常,直到我到了必须手动通过curl -L http://npmjs.org/install.sh | sh来安装npm的地步curl -L http://npmjs.org/install.sh | sh curl -L http://npmjs.org/install.sh | sh 。 我收到一条错误消息,说明SSL证书没有被validation。 尝试使用-k给我一个错误,找不到文件。 我也尝试下载shell脚本并从terminal手动运行它。 在这种情况下,它似乎做了一些事情,但它又引起了SSL证书的问题。

当我运行gulp命令时,我的文件失去了权限

我正在使用Ubuntu,它的工作正常,但是当我运行gulp命令,我有一个问题。 该文件已创build,但Gulp更改文件权限,浏览器无法读取该文件。 所以我无法浏览我的项目网站。 = / 我的gulpfile.js var gulp = require('gulp'); //~ var gulp = require('gulp-util'); var sass = require('gulp-sass'); var concat = require('gulp-concat'); var uglify = require('gulp-uglify'); var src='./wp-content/themes/wikitricks'; var scripts=[ src + '/js/jquery.min.js', src + '/js/jquery-ui.js', src + '/js/jquery.tooltipster.min.js', src + '/js/featherlight.min.js', //~ src + '/js/jquery.masonry.min.js', src + '/js/masonry.pkgd.min.js', ]; gulp.task('js', function() { return […]