Articles of gulp

Gulp require(Path)与fs.existsSync(Path)不同

如果开发人员特定的文件存在,我想用开发人员特定的variables覆盖默认variables。 各种文件的path如下: // Gulp File appPath\gulpfile.js // Gulp Tasks appPath\gulp\* // Gulp Developer Settings appPath\gulp-config\* 我正在使用fs.existsSync(path)来testing开发者设置文件是否存在,如果它使用require(path)来包含该文件。 我fs.existsSync(path)的问题是fs.existsSync(path)的相对path与require(path)的相对path不同。 // I don't understand why the check for file and the require of that file, need slightly different paths var developerConfigFile = './gulp-config/' + process.env.NODE_DEV + '.js'; var developerConfigFileForRequire = '../gulp-config/' + process.env.NODE_DEV + '.js'; if (fs.existsSync(developerConfigFile)) { […]

吞食 – 我必须为每个项目安装插件吗?

我有一个关于吞咽的问题。 我明白,当我想用​​gulp与我的项目,我需要运行“npm初始化”为包json,我需要安装gulp本地(假设全球已经安装)与“npm的安装 – 保存开发吞噬”,我需要安装我想使用的所有插件(–save-dev如此在本地?)。 我使用了大约10个大嘴插件,那大约300MB +的下载(我不明白为什么)每个项目。 另外下载也花费了太多的时间。 我的问题是:我必须安装所有插件的每个新项目,我想运行吞噬? 或者我可以只复制吞噬文件,并运行它没有再次安装插件,因为它需要30分钟来安装它们…

导入关键字不被gulp throwing识别SyntaxError:意外的保留字

Failed to load external module babel-core/register Failed to load external module babel/register somelocation\gulpfile.babel.js:27 import fs from 'fs'; ^^^^^^ SyntaxError: Unexpected reserved word at exports.runInThisContext (vm.js:53:16) at Module._compile (module.js:413:25) at Object.Module._extensions..js (module.js:452:10) at Module.load (module.js:355:32) at Function.Module._load (module.js:310:12) at Module.require (module.js:365:17) at require (module.js:384:17) at Liftoff.handleArguments (\AppData\Roaming\npm\node_modules\gulp\bin\gulp.js:116:3) at Liftoff.<anonymous> (\AppData\Roaming\npm\node_modules\gulp\node_modules\liftoff\index.js:192:16) at module.exports (\AppData\Roaming\npm\node_modules\gulp\node_modules\liftoff\node_modules\flagged-respawn\index.js:17:3) 在尝试在npm之后运行gulp时遇到此错误,如下所述: deploy-appengine.md 。 […]

一旦Node.js脚本运行,是否可以获取UPDATED环境variables?

一旦节点脚本已经运行,如何检索更新的环境variables? 考虑以下的一些任务。 如何更新环境variablesZ(即从系统上运行的其他脚本),以便函数在运行后输出不同的值? 因为在别处设置的环境variables被忽略,函数总是输出'undefined'。 gulp.task('z', function () { var z; setInterval(function(){ z = process.env.Z; console.log('Value of Z is: ' + z); }, 1000); }); 运行Windows 7.我已经尝试了set和setx但是没有任何东西会持续到正在运行的节点脚本中。 我不认为这是可能的,因为通常不能在命令提示符之间传递环境variables而不重新启动它们(并使用setx )。 但是,那么用户是特别的,我之前感到惊讶。 这甚至有可能吗?

安装和gulp插件

安装Gulp时有点麻烦。 在我的gulpfile.js我有这些要求: var gulp = require('gulp'); var sass = require('gulp-sass'); var browserSync = require('browser-sync'); var del = require('del'); var notify = require("gulp-notify"); var htmlExtended = require("gulp-html-extend"); var imagemin = require('gulp-imagemin'); var pngquant = require('imagemin-pngquant'); var bower = require('gulp-bower'); 而在我的包中,我有我的依赖: { "name": "PROJECT", "version": "0.0.1", "private": true, "devDependencies": { "browser-sync": "^2.11.0", "del": "^1.2.0", "gulp": "^3.9.0", "gulp-bower": […]

Gulp.js浏览器同步不会重新加载我的浏览器

Gulp浏览器同步不会重新加载我的浏览器。 当我点击保存我的项目时,它生成一切正常。 我的浏览器闪烁,并在右上angular显示“连接到浏览器同步”。 它不会加载更改。 当我手动刷新刷新时,它会加载更改。 我一直在咕噜咕噜的文件,并没有发现任何错误。 有什么build议? Gulp.js文件: var $ = require('gulp-load-plugins')(); var argv = require('yargs').argv; var browser = require('browser-sync'); var gulp = require('gulp'); var panini = require('panini'); var rimraf = require('rimraf'); var sequence = require('run-sequence'); var sherpa = require('style-sherpa'); // Check for –production flag var isProduction = !!(argv.production); // Port to use for the […]

在nodejs完成任务后,gulp任务挂起

我定义了可以在gulp load运行的简单吞吐任务。 目的是获取没有location属性设置的用户数量。 但是,数字返回成功后,进程挂起terminal,我需要ctrl-c来停止它。 注意,这不是一个asynchronous调用,并使用mongoose插件来访问数据库。 gulp.task('load', function () { dbCall.getUserNumberWithoutLocation(); }); var getUserNumberWithoutLocation = function() { var query = User.find({ 'location': null }); query.exec(function(err, users) { for (var i = 0; i < users.length; i++) { console.log(users[i].location); } console.log(users.length); }) };

Gulp Serve:为所有path渲染index.html

我正在运行一个简单的AngularJS应用程序,并使用浏览器同步使用Gulp / Gulp服务。 为了使我的Angular路线工作,我需要为端口上的所有path渲染/index.html 。 我该怎么做呢? 我目前的代码是: gulp.task('serve', ['less'], function() { browserSync.init({ server: "./app" }); gulp.watch("app/css/*.less", ['less']); gulp.watch("app/*.html").on('change', browserSync.reload); gulp.watch("app/js/**/*.js").on('change', browserSync.reload); });

如何在JavaScript函数中运行一个接一个的gulp函数?

这是我现在所拥有的: function make_exHtml(config) { gulp.src(config, { base: process.cwd() }) .pipe(print(function (file) { return "Found file " + file; })) .pipe(rename({ basename: 'base' })) .pipe(gulp.dest('./')); return gulp.src(config.srcTemplates) .pipe(print(function (file) { return "Added file " + file + " to template"; })) .pipe(minifyHTML({ collapseWhitespace: true })) .pipe(templateCache({ standalone: true, root: '/app' })) .pipe(gulp.dest(config.destPartials)) .pipe(gzip(gzip_options)) .pipe(gulp.dest(config.destPartials)); } 我需要做的是确保第一个消费在第二个之前运行。 […]

AWS Lambda SDK – TooManyRequestsException

我有大约50个AWS Lambda函数,我有一个吞吐任务来部署它,脚本压缩函数并将其上传到S3,然后使用Lambda JS SDK我称这个任务来创build/更新函数: gulp.task('upload', function (callback) { var AWS = require('aws-sdk'); var lambda = Promise.promisifyAll(new AWS.Lambda(), { filter: function (name) { return name.indexOf('Async') === -1; } }); var promises = require('./lambda-config.js').lambda.map(function (lambdaConfig) { return lambda.getFunctionConfigurationAsync({ FunctionName: lambdaConfig.FunctionName }).then(function () { return lambda.updateFunctionCodeAsync({ FunctionName: lambdaConfig.FunctionName, S3Bucket: lambdaConfig.Code.S3Bucket, S3Key: lambdaConfig.Code.S3Key }); }).catch(function () { return lambda.createFunctionAsync(lambdaConfig); […]