Tag: gulp

节点的del命令 – callback不会触发

我正在通过一个吞咽复数的课程。 John Papa正在演示如何将一个删除现有css文件的函数插入到编译新函数的例程中。 del函数的callback不会触发。 del函数正在运行,文件被删除,我看不到任何错误信息。 如果我手动调用callback函数,它会执行,所以看起来像函数一样。 所以我想知道什么会导致DEL不想执行callback。 删除例程: function clean(path, done) { log('cleaning ' + path); del(path, done); // problem call } 'done'函数不会触发,但是如果我将代码更改为这样: function clean(path, done) { log('cleaning ' + path); del(path); done(); } 当然,在继续之前,这等于del完成的预期目的失败了。 任何想法如何发生,将不胜感激。 以供参考(在相关的情况下): 编译css函数: gulp.task('styles', ['clean-styles'], function(){ log('compiling less'); return gulp .src(config.less) .pipe($.less()) .pipe($.autoprefixer({browsers:['last 2 versions', '> 5%']})) .pipe(gulp.dest(config.temp)); }); 注入清洁function: […]

如何在运行Visual Studio Task Runner Explorer时debugginggulpfile.js?

如何在运行Visual Studio Task Runner Explorer时debugginggulpfile.js? 还是有另一种方式吞噬可能会启动视觉工作室,这样gulpfile.js可能会被debugging? 我知道节点检查器,但想看看是否有本地的Visual Studio的东西。

Gulp构build不会自动安装依赖关系?

我使用gulp来构build我的JavaScript应用程序。 我在package.json文件中声明了一些依赖项,例如: "dependencies": { "flux": "^2.0.1", "keymirror": "~0.1.0", "object-assign": "^1.0.0", "react": "^0.13.1", "dropzone": "^4.0.1", "lodash": "^3.6.0" }, 当我运行gulp构build时,它总是会提示我一些依赖找不到,除非我手动运行npm install lodash 。 有没有办法让npm install自动运行npm install ?

gulp:gulp任务callback函数在哪里定义?

吞噬任务可以这样定义: gulp.task('foobar', function(callback) { … }); 我试图了解callback函数是什么。 它在哪里定义? 我可以在运行时将其他函数作为parameter passing吗? 它有什么作用? 这些文档指出,callback参数是Orchestrator提示任务应该asynchronous运行的地方,执行callback表明asynchronous任务已经完成。 通过一些实验,它看起来像调用callback没有参数返回一个成功的状态,并调用一些string抛出一个错误: gulp.task('foobar', function(callback) { callback(); }); gulp.task('bazkad', function(callback) { callback("some string"); }); (抛开:如何在StackOverflow markdown中的代码块之间放置一个中断?) $ gulp foobar [09:59:54] Using gulpfile ~\repos\gulpproj\gulpfile.js [09:59:54] Starting 'foobar'… [09:59:54] Finished 'foobar' after 56 μs $ gulp bazkad [10:05:49] Using gulpfile ~\repos\gulpproj\gulpfile.js [10:05:49] Starting 'bazkad'… [10:05:49] 'bazkad' errored […]

捕捉Browserifyparsing错误(独立选项)

我正在使用gulp + browserify来构build和打包我的JavaScript库。 现在有一件事困扰我:我正在运行一个简单的服务器,通过grep进行开发。 这工作正常,但只要我的JavaScript包含语法错误,browserify抛出一个错误导致服务器停止。 我使用的browserify代码(请注意,我添加了一个error handling程序): browserify("./src/main.js") .bundle({standalone: "SomeName", debug: false}).on('error', notify.onError({ message: "Error: <%= error.message %>", title: "Failed running browserify" }) ); 现在来了一个有趣的部分:当我删除独立设置(和我的JS语法不正确),error handling程序触发。 但是,当我使用这个独立的设置时,error handling程序不会触发(导致服务器由gulp停止启动) 有谁知道如何处理这个问题? 我总是可以手动validation我的js文件,但想避免这种解决方法

从另一个gulpfile.js的gulpfile.js中运行gulp任务

也许这是我的方法有问题,但我有以下情况: 我有一个component-a ,有一个大文件。 它的一个任务(例如build)构build组件并在dist文件夹中创build一个组合的js文件 我有一个component-b ,有一个大文件。 它的一个任务(例如build)构build组件并在dist文件夹中创build一个组合的js文件 我有一个使用这两个组件的项目。 这个项目也有一个gulp文件,我想写一个任务: 从/components/component-a/gulpfile.js执行构build任务 从/components/component-b/gulpfile.js执行构build任务 concats /components/component-a/dist/build.js和/components/component-b/dist/build.js(我知道如何做到这一点) 我不知道的是如何从/components/component-?/gulpfile.js执行构build任务。 这是可能的,否则我应该处理这种情况呢?

npm是什么意思是“跳过失败的可选依赖项”?

节点和npm的最新版本导致运行业力问题。 当我尝试安装karma-cli npm i -g karma karma-cli我得到以下警告: npm WARN optional Skipping failed optional dependency /chokidar/fsevents: npm WARN notsup Not compatible with your operating system or architecture: fsevents@1.0.8 npm WARN optional Skipping failed optional dependency /gulp-karma/chokidar/fsevents: npm WARN notsup Not compatible with your operating system or architecture: fsevents@0.2.1 而当我尝试运行karma test ,我得到以下错误: "C:\Program Files\nodejs\node.exe" "C:\Program Files (x86)\JetBrains\WebStorm […]

Karma的angular度testing:“模块没有定义”

我知道这个问题已经被问了很多次了,我知道在大多数情况下,人们都缺lessangular-mocks.js文件。 我遇到了同样的问题,试图在模块上testing工厂。 不幸的是,我一直遇到与testing有关的问题(为什么,Angular,哦,为什么你必须假设一个window和document对象?),哪个状态,该模块没有定义。 我不知所措 我也试过使用angular.mocks.module,但是我得到一个消息,说Angular没有定义。 我究竟做错了什么? 值得注意的是,我正在使用gulp作为一个任务跑步者。 我的大文件(还不完美,任务没有链接): var gulp = require('gulp'), uglify = require('gulp-uglify'), jshint = require('gulp-jshint'), jasmine = require('gulp-jasmine'), karma = require('gulp-karma'), paths = { scripts: "scripts/*.js", spec: "spec/*.js", dist: "dist" }; gulp.task('prepare', function () { return gulp.src(paths.scripts) .pipe(jshint()) .pipe(jshint.reporter('default')) .pipe(uglify()) .pipe(gulp.dest(paths.dist)) }); gulp.task('test', function () { gulp.src([paths.scripts, paths.spec]) .pipe(karma({ configFile: 'karma.conf.js', action: […]

通过npm自动运行吞吐任务

我通常通过npm运行gulp,例如在我的package.json中 "scripts": { "test": "gulp test", "minify": "gulp minify" } 然后我可以运行命令如 npm run minify 这是可以的,但每次我在我的gulp文件中有新的任务,我需要将它们添加到脚本部分下的package.json,有没有更好的方法来做到这一点? 原因 :我只安装全局的npm到我的path ,所有其他模块不会污染我的path ,所以我需要通过npm脚本运行它们

将glob压扁到一个目录

在Gulp中,我使用gulp.src从目录中select每个字体文件: gulp.task('copy-fonts', function() { gulp.src('components/**/*.{ttf,woff,eof,svg}') .pipe(gulp.dest('build/fonts')); }); 不过,我想将所有这些字体文件并列在一个目录中,而不是从components目录中重新创build整个树。 纵观Gulp,Gulp Utils和npm-glob API并不能真正帮助我,尽pipe我可以轻易地跳过它。 最好的办法是什么呢?