Articles of gulp

使用gulp-compass时出现“spawn / usr / bin / compass ENOENT”

我试图运行下面的Gulp任务来编译Sass文件,使用OS X Yosemite 10.5.5上的插件gulp-compass。 var path = require("path"); var gulp = require("gulp"); var compass = require("gulp-compass"); gulp.task("compile2013Base", function() { var projectPath = path.join(__dirname, '../../ '); gulp.src(['../sass/desktop/css/2013/*.scss']).pipe(compass({ project: projectPath, css: 'htdocs/assets/css/2013/', sass: 'sass/desktop/css/2013' })).on('error', errorHandler).pipe(gulp.dest('../../htdocs/assets/css/2013/')); }); function errorHandler (error) { console.log(error.toString()); this.emit('end'); } 但是,当我尝试运行像gulp compile2013Base这样的任务时,出现以下错误: > gulp compile2013Base [13:39:06] Using gulpfile [**redacted**]/scripts/js/gulpfile.js [13:39:06] Starting 'compile2013Base'… [13:39:06] […]

gulp.js – dest.on不是一个函数

我试图编译我的styles.scss与styles.scss gulp-sass当我收到以下错误: [09:48:49] Starting 'e'… [09:48:49] 'e' errored after 2.35 ms [09:48:49] TypeError: dest.on is not a function at DestroyableTransform.Readable.pipe (D:\Data\Web Development\Repositories\ds-www\node_modules\through2\node_modules\readable-stream\lib\_stream_readable.js:485:8) at Gulp.<anonymous> (D:\Data\Web Development\Repositories\ds-www\gulpfile.js:44:6) at module.exports (D:\Data\Web Development\Repositories\ds-www\node_modules\orchestrator\lib\runTask.js:34:7) at Gulp.Orchestrator._runTask (D:\Data\Web Development\Repositories\ds-www\node_modules\orchestrator\index.js:273:3) at Gulp.Orchestrator._runStep (D:\Data\Web Development\Repositories\ds-www\node_modules\orchestrator\index.js:214:10) at D:\Data\Web Development\Repositories\ds-www\node_modules\orchestrator\index.js:279:18 at finish (D:\Data\Web Development\Repositories\ds-www\node_modules\orchestrator\lib\runTask.js:21:8) at module.exports (D:\Data\Web Development\Repositories\ds-www\node_modules\orchestrator\lib\runTask.js:60:3) at Gulp.Orchestrator._runTask (D:\Data\Web Development\Repositories\ds-www\node_modules\orchestrator\index.js:273:3) at Gulp.Orchestrator._runStep […]

找不到模块'.tmp / Rx.min.js'

我有Ubuntu操作系统16.04版本和节点:V6.6.0 Npm:3.10.3 我正在尝试使用gulpconfiguration项目来获取一个常见问题 错误消息:无法find模块'.tmp / Rx.min.js' 我正在运行下面的命令来build立gulp环境: npm run build.dev 你可以在这张图中看到错误信息: https : //i.stack.imgur.com/BQKRW.png

将asynchronous函数的输出传递给gulp.dest?

在我的gulp任务中,我只需要将从前一个任务获得的文件复制到我必须在运行时使用asynchronous函数(因为我使用fs函数)来确定的destpath。 我该怎么做呢? 如何将asynchronous函数的结果提供给gulp.dest指令? 示例代码: function getDest() { fs.readdir('my/path', function(error, contents) { // pick the right one return the_right_one; }) } gulp.task('copy-stuff', ['previous-task'], function() { return gulp.src('some/file').pipe(gulp.dest(getDest())); })

Gulp任务没有串联运行

我正在关注官方文档,但是我的大量任务没有连续运行。 gulp.task("mytask", ["foo", "bar", "baz"]); gulp.task("foo", function (callback) { gulp .src("…") .pipe(changed("…")) .pipe(gulp.dest(function (file) { // …stuff return "…"; })) .on("end", function() { // …stuff callback(); }); }); gulp.task("bar", function (callback) { //… }); gulp.task("baz", function (callback) { //… }); 但是我的输出如下所示: Starting 'mytask'… Starting 'foo'… Starting 'bar'… // <– foo is not done yet! Finished […]

Karma public api缺lessconfigFile选项

gulp-karmabuild议像这样的外部configuration文件: module.exports = { basePath: '', singleRun: true }; 我想要一个像这样的外部configuration文件(grunt-karma风格): module.exports = function(config) { config.set({ basePath: '', singleRun: true }); }; 如何使用proper config file与业力API。 细节: 我正在使用gulp-karma,正如前面提到的那样,我必须自己实施。 Karma API非常简单: var server = require('karma').server; server.start(config, done); configvariables是模糊的。 这是一个简单的configuration对象: var config = { basePath: '', singleRun: true // … } 让我们来看看grunt-karma: 示例grunt-karmaconfiguration: karma: { unit: { configFile: 'karma.conf.js' […]

有没有办法在Gulp中将.css与.less合并?

到目前为止,我没有find解决办法。 以下是我现在想到的: var gulp = require('gulp'); var concat = require('gulp-concat'); var uncss = require('gulp-uncss'); var minifyCSS = require('gulp-minify-css'); var concatCss = require('gulp-concat-css'); var less = require('gulp-less'); var stripCssComments = require('gulp-strip-css-comments'); gulp.task('css', function() { return gulp.src('css/*.css') .pipe(stripCssComments({all:true})) .pipe(concat('plugins.css')) .pipe(uncss({html: ['index.html']})) .pipe(minifyCSS()) .pipe(gulp.dest('build/css')); }); gulp.task('less', function() { return gulp.src('css/*.less') .pipe(less()) .pipe(stripCssComments({all:true})) .pipe(concat('styles.css')) .pipe(uncss({html: ['index.html']})) .pipe(minifyCSS()) .pipe(gulp.dest('build/css')); }); […]

没有findgulp命令(Mac OS)

我一直在尝试设置一个angular度js项目,哟,咕噜声和发电机吞咽angular。 虽然我安装了所有的软件包,但没有findgulp命令,但是如果我进入node_modules的话,它就可以工作。 这段代码将解释我的问题: $ npm -v # 2.5.1 $ npm install -g yo $ npm install -g generator-gulp-angular $ mkdir client && cd $_ $ yo gulp-angular ng_demo $ gulp serve # command not found $ node_modules/gulp/bin/gulp.js serve # works 我正在使用zsh。 什么可能出错?

以编程方式控制Jetbrains内置服务器

我使用WebStorm,它带有非常棒的LiveEditfunction,它比LiveReload好得多,但是它不会自动将更改logging到我正在使用的所有不同types的文件中。 它忽略了手写笔和翡翠的变化,我需要手动触发重新加载页面。 我猜是因为LiveEdit不会重新加载整个页面,而只是重新加载相关的部分,Webstorm当然不可能知道在处理Jade或者Ejs模板的时候页面上需要重绘的东西 就此而言,LiveReload感觉是更好的解决scheme。 但我想知道是否有可能通过发送信号到“JetBrains IDE支持扩展”来触发重新加载页面? 所以理想的grunt-task或gulp-task (我正在使用gulp)会监视文件的变化并发送信号(可能是WebStorms内置的服务器),扩展会重新载入页面。 那可能吗? 你可以控制Jetbrains内置服务器与节点?

gulp connect-livereload不能在Node.js中使用简单的应用程序

我试图让connect-livereload工作,以便dynamic地插入livereload所需的脚本。 ( NPM连接重新加载 ) 我的gulpfile相关的片段: var express_app = require('./app.js')(), express = require('express'), gulp = require('gulp'), lr = require('tiny-lr')(); gulp.task('default', function() { initServer(); initLiveReload(); } // This is supposed to insert the middleware function initServer() { express_app.use(require('connect-livereload')()); express_app.use(express.static(__dirname)); express_app.listen(3000); } function initLiveReload() { lr.listen(35729); }; 我的app.js相关代码片段: var express = require('express'), app = express(); module.exports = function() […]