Articles of gulp

使用NPM'pre'脚本

使用NPM,我们可以使用预编译脚本来运行预钩(也有后钩)。 在运行我的npm脚本之前,我想运行'gulp default': "scripts":{ "prestart_dev": "gulp default", "start_dev": "node ./bin/www" } 我运行这个: npm run start_dev 如预期的那样,prestart_dev运行,但是它不启动start_dev,它只是坐在那里。 任何想法我可以做什么来解决它? 似乎应该按原样工作。 我的Gulp默认任务如下所示: gulp.task('default', function () { gulp.run('build_requirejs_pipe'); gulp.watch('public/static/app/js/controllers/**/*.js', function () { gulp.run('build_requirejs_pipe'); }); }); (这可能是我的默认任务需要返回一些东西?)

结合两个json文件给一组variables在Gulp中使用

我已经在网上看到很多关于如何使用require语句来使用文件中定义的一组variables的post。 我想知道如何使用两个文件。 例如,在伪… gulp –env=prod if (env): defaultConfig = require('./config/default.json') envConfig = require('./config/prod.json') config = combine(defaultConfig, envConfig) else: config = require('./config/default.json') // Now i can access everything like so… console.log(config.name) console.log(config.minify) 这保持configurationDRY,也意味着我不必为每个环境创build一个新的文件。 我是Gulp的新手,但我认为这将是一个普遍的要求,但是Google没有提出任何与env特定设置合并的默认设置。 我需要写一个节点模块吗?

脚本终止时NodeJS运行命令

如果这是可能的,我想执行一些命令或脚本,当一个npm脚本被杀死CTRL + C.例如,如果吞噬手表中断。 有可能的?

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重命名非法操作

我的gulp文件如下所示: function aureliaJsonPath(name) { return `./aurelia_project/aurelia.${name}.json`; } gulp.task('use-login-au-json', () => { return gulp.src(aureliaJsonPath('login')) .pipe(rename('aurelia.json')) .pipe(gulp.dest('./aurelia_project')); }); [11:59:18]错误:EISDIR:目录上的非法操作,打开“…基本目录… \ aurelia_project \ aurelia.json” 基本上,我有一个目录与aurelia.login.json我想要复制并重命名为aurelia.json在同一目录中。

任务“浏览器同步”不在你的大文件中

我刚开始使用浏览器同步。 所以我开始学习一口饮料。 我使用npm install gulp -g命令npm install gulp -g 。 在此之后,我使用下面的命令npm init初始化了我的项目目录,其中包含package.json文件。 然后,我通过npm install gulp –save-dev命令在我的项目目录中安装了gulp。我还通过npm install browser-sync –save-dev命令npm install browser-sync –save-dev 。 现在我试图运行浏览gulp browser-sync使用gulp gulp browser-sync命令,这给我一个错误任务“浏览器同步”不在你gulp文件 以下是我的gulpfiles.js文件 var gulp = require('gulp'); var browserSync = require('browser-sync').create(); // process JS files and return the stream. gulp.task('js', function () { return gulp.src('js/*js') .pipe(browserify()) .pipe(uglify()) .pipe(gulp.dest('dist/js')); }); // […]

咕嘟咕嘟唔到的是callback – 它只是在任务结束时挂起

callback是射击,但任务只是挂在Finished 'hooks:pull' after 2.04 s gulp.task('hooks:pull', function(callback){ var files = [ { remote: '~/deploy/test.example.com/hooks/post-receive', local: './bin/post-receive.test' }, { remote: '~/deploy/staging.example.com/hooks/post-receive', local: './bin/post-receive.staging' }, { remote: '~/deploy/example.com/hooks/post-receive', local: './bin/post-receive.production' } ]; async.each(files, function(file, cb) { var opts = { host: 'example.com' }; opts.file = file.remote; opts.path = file.local; scp.get(opts, function(err) { if (err) { console.error(err); return […]

咕嘟声错误:无法find模块browserify

运行gulp时得到上述错误。 无法弄清楚为什么。 我读过一些东西,如gulp.src需要一个./ infront的应用程序。 var gulp = require('gulp'), browserify = require('gulp-browserify'); gulp.task('scripts', function () { gulp.src(['./app/main.js']) .pipe(browserify({ debug: true, transform: [ 'reactify' ] })) .pipe(gulp.dest('./public/')); }); gulp.task('default', ['scripts']); 像这样.. 我已经做了npm安装,所以节点模块是应该在哪里。 它值得在节点模块中指出它被称为gulp-browserify。 以及我已经在我的Mac上安装了全球范围的browserify。 让我知道你的想法,或者是否有任何信息丢失。 我是新的反应,并试图从字面上设置node.js作为后端,并创build一个反应的环境。

gulp-concat抛出exception'file.isNull(),index.js:39 TypeError:file.isNull不是函数

我试图用gulp编译react(.jsx),coffeescript(.coffee)和vanilla javascript(.js)文件,将所有生成的.js文件打包到一个文件中,app.js被加载到我的索引中.html页面。 我正在为每个编译types生成一个stream,并使用merge-stream将3个馈线stream的内容收集到一个stream中,我将这个stream传递给gulp-concat来创buildapp.js. 我得到一个来自gulp-concat,index.js,第39行的exception,让我知道“文件”不是一个函数。 这里是我的整个gulpfile.js,对gulp-concat的引用接近本节的底部。 var browserify = require('browserify'); var coffee = require('gulp-coffee'); var concat = require('gulp-concat'); var gulp = require('gulp'); var gutil = require('gulp-util'); var mergeStream = require('merge-stream'); var reactify = require('reactify'); var sass = require('gulp-sass'); var source = require('vinyl-source-stream'); gulp.task('javascript', function(){ // convert .jsx files to .js, collecting them in a stream var […]

Angularjs从express.js的“public”文件夹的“views”文件夹中路由ejs静态文件

这是我的项目结构。 我试图从“public”文件夹中的angular度路由文件(app> public> main.js)中的“views”文件夹中调用ejs文件(app> views> list.ejs)。 但list.ejs不加载。 /************main.js****************/ var fsApp=angular.module('chart-app'); fsApp.config(function($routeProvider) { $routeProvider .when('/', { templateUrl: 'list.ejs', controller: 'listCtrl' }) /*In my server.js server file I am calling the files in public folder this way: */ app.use('/static',express.static(__dirname + '/public')); app.get('/',function(req,res){ res.render('index.ejs'); }); <!–In index.ejs (where my <ng-view></ng-view> is) I am including the link for static […]