Articles of gulp

来自Mongo的数据使用Gulp数据

在使用Gulp数据时,如何从我的Mongo数据库获取数据作为数据源的Gulppipe道? 吞噬任务 ( 简体 ) gulp.task('db-test', function() { return gulp.src('./examples/test3.html') .pipe(data(function(file, cb) { MongoClient.connect('mongodb://127.0.0.1:27017/prototype', function(err, db) { if(err) return cb(err); cb(undefined, db.collection('heroes').findOne()); // <–This doesn't work. }); })) //.pipe(data({"title":"this works"})) -> This does work .pipe(through.obj(function(file,enc,cb){console.log('file.data:'+JSON.stringify(file.data,null,2))})); }); 当我使用原型数据库时,我可以运行, > db.heroes.findOne() 并得到这个结果: { "_id" : ObjectId("581f9a71a829f911264ecba4"), "title" : "This is the best product!" }

如何解决使用npm链接时的“任务不在你的大文件”错误?

我们有一堆应用程序共享通用的gulp逻辑,所以我们做了一个包含一大堆自定义任务的gulp插件。 但是,我们希望避免为我们开发的每个应用程序安装gulp +我们的插件(以及一半的互联网)。 理想情况下,我想这样做: npm install -g gulp npm install -g <our gulp plugin> 然后,对于每个应用程序,我们只需要做: npm link gulp npm link <our gulp plugin> 虽然这是有效的,但问题是吞咽不再承认我们的任何自定义吞咽任务。 我运行的任何gulp命令的结果如下: [15:16:51] Using gulpfile /workspace/my-app/gulpfile.js [15:16:51] Task 'dev' is not in your gulpfile [15:16:51] Please check the documentation for proper gulpfile formatting “开发”任务是在我的大嘴插件,为什么不find它? 我的gulpfile.js只有这个: var gulp = require('gulp'); var mygulpplugin = […]

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包,观看文件,并不会被浏览错误绊倒?

咕嘟咕嘟咕嘟住

我有一个我用Node构build的网站。 我可以通过从命令行运行node server.js来成功启动和运行该站点。 然后我通过浏览器访问“ http:// localhost:3000 ”访问该网站。 我现在正在尝试改进网站周围的一些构build过程。 要做到这一点,我依靠Gulp。 我想在HTML或CSS文件发生变化时自动重新加载网页。 我偶然发现了gulp-livereload插件。 我已经按照文档中的描述安装了它。 但是,当我在浏览器中访问“ http:// localhost:35729 / ”时,我只看到以下内容: { minilr: "Welcome", version: "0.1.8" } 我的大嘴巴任务是这样configuration的: gulp.task('launch', function() { var toWatch = [ 'src/**/*.html', 'src/**/*.css' ]; livereload.listen(); gulp.watch(toWatch, function() { console.log('reloading…'); livereload(); }) } 在运行node server.js后,我访问“ http:// localhost:3000 ”时看不到我的主页。 我错过了什么?

Gulppipe道最小function?

什么是最小的function,可以放在一个Gulppipe道,仍然工作? 这不起作用: gulp.src('**') .pipe(function() { // what's the minimum that can go here and still be a functional pipe? // what needs to be returned? }); 理想情况下,这将是香草JS只使用Gulpbuild立的基本模块; 乙烯基,通过等

如何使用gulp注入已安装的Bower软件包的链接到html文件

我做了一个大文件来设置一个前端开发工作环境。 下面是它的工作原理: 该脚本获取bower.json中定义的Bower包,并将它们各自生产文件夹(/ public / js)(/ public / css)中的每个已安装包的主文件js和css输出到/ public文件夹中。 脚本还会启动所有文件,css,js和html文件的监视任务,并且只要将这些文件保存在开发文件夹(/ src)中,它们的/ public对象就会实时更新。 通过这种方式,我只需在Bower本地安装软件包,然后运行这个gulpfile,我将在我的/ public文件夹中准备好生产文件,但是我需要链接它们! 如上所述,我希望脚本根据我决定从Bower安装的软件包,在我的index.html头部中编写指向这些文件的链接。 因此,例如,如果我下载了Bootstrap,我希望脚本自动将htmlstartrap CSS和js文件链接到我的html页面的头部(身体closures标记之前)(理想情况下)。 这是我在github上的脚本,看一下README和gulpfile : 我不知道有什么方法和/或是否有一个吞咽插件来实现,如果有人能指出我正确的方向,我将非常感激。 谢谢。

如何使用gulp在不同的文件中创buildTypescript源代码,而不是在JavaScript文件中?

我有一个项目,我正在使用gulp。 我想打字稿文件转换为JavaScript,并有源地图也。 这是我现在所拥有的: var sourcemaps = require('gulp-sourcemaps'); var typescript = require('gulp-typescript'); gulp.task('typescript', function () { gulp.src('app/**/*.ts') .pipe(typescript()) .pipe(sourcemaps.init()) .pipe(sourcemaps.write()) .pipe(gulp.dest('app')) }); 这部分工作,但源代码都出现在JavaScript内部。 任何人都可以告诉我,我可以如何使它为每个JavaScript创build一个源代码文件,而不是有地图里面?

对象#<Readable>在使用Gulp + Browserify时没有方法“写入”

当遵循Gulp.js存储库中的示例配方时 。 我收到一个错误: [12:27:31] Using gulpfile C:\GH\riot-tag-build\Gulpfile.js [12:27:31] Starting 'browserify'… _stream_readable.js:602 var written = dest.write(chunk); ^ TypeError: Object #<Readable> has no method 'write' at write (_stream_readable.js:602:24) at flow (_stream_readable.js:611:7) at _stream_readable.js:579:7 at process._tickCallback (node.js:442:13) 我试图修改源代码以符合我的要求,这是我尝试运行没有运气的Gulpfile。 var gulp = require('gulp'); var browserify = require('browserify'); var riotify = require('riotify'); var transform = require('vinyl-transform'); var buffer = require('gulp-buffer'); […]

如果条件符合,停止Gulp任务

我试图做到这一点,如果没有指定 – 主题标志,它会停止吞咽任务,并想知道以干的方式做的最好方法。 如果没有指定 – 主题,我希望每个单独的任务都停止,并且如果不满足默认任务,也要停止。 到目前为止,我已经尝试了一些没有运气的东西。 谢谢, gulp.task('test', function() { if(typeof(args.theme) == 'undefined' || args.theme === true) { console.log(msg.noTheme); return; // end task } // run rest of task… }); gulp.task('test-2', function() { if(typeof(args.theme) == 'undefined' || args.theme === true) { console.log(msg.noTheme); return; // end task } // run rest of task… }); gulp.task('default', […]

Gulp:如何顺序撰写任务?

我需要通过顺序处理不同的来源来构build吞吐任务,因为它们之间存在依赖关系。 基于文档,这应该做我的合并stream,但我看不出如何执行命令和序列化他们。 在Gulp 3中对此进行build模的正确方法是什么? 我通常使用函数作为各个构build步骤的容器,然后从构build和监视任务中调用它们: function buildModule(module) { var streams = []; // step one streams.push( gulp.src(path.join('./modules', module, '*.js')) // … series of chained calls ); // step two streams.push( gulp.src([TMP, …]) // generate target also using some of the files from step one ); return eventStream.merge(streams); } gulp.task('build:A', [], function () { return buildModule('A'); […]