Articles of gulp

用于双扩展文件的全球化

我有这个Gulp片段: gulp.src(['./assets/**/*.!(coffee|scss)', '!assets/images{,/**}']) .pipe(gulp.dest('.tmp/public')) 而这个文件夹结构: 资产 JS 一杯咖啡 ABcoffee ABCcoffee X.js 目的是复制一切,但以下情况除外: 资产/图片的内容 任何和所有CoffeeScript文件 但是,这种glob模式并不排除AB和ABCcoffee。 什么是正确的模式来做到这一点?

如何用gulp注入脚本

我已经安装了https://www.npmjs.com/package/gulp-inject-string 并创build这个gulpfile.js: // Include gulp var gulp = require('gulp'); // Include Our Plugins var inject = require('gulp-inject-string'); gulp.task('default', function(){ gulp.src('index.html') .pipe(inject.before('</body>', '<script src="myscript.js"></script>\n')) .pipe(gulp.dest('./test')); console.log('myscript.js injected'); }); 在执行gulp时,console.log正确执行,但index.html没有在/ body标签之前注入任何脚本。 我该怎么修复? 更新:我testing到另一个文件夹,index.html被写入,但没有脚本被注入。

从stream库中抛出错误时,正确处理Gulp.js乙烯stream错误

我正在使用Gulp来编译React JSX(是的,我知道)。 我有这个Gulp任务: gulp.task('transpile-jsx', function () { return transpileJSX().on('error',function(err){ // < I just added this error handler, but it doesn't do much console.error(err); }); }); 上面的任务是这样调用的: gulp.task('metagen:all', ['transpile-jsx'], function (done) { runAllMetagens(done); }); 并且工作的实际function如下所示: function transpileJSX() { return gulp.src('./public/static/app/js/views/**/*.js').pipe(react({harmony: true})) .pipe(gulp.dest('./public/static/app/js/jsx')); } 一个try / catch不能用于stream,因为它们是asynchronous的,那么附加一个error handling程序的最好方法是什么,这样我的吞吐进程就不会在遇到JSX转译错误时出现如下错误: events.js:141 throw er; // Unhandled 'error' event ^ Error: […]

Symlinking一个大文件,但得到path符号链接从

我很抱歉,如果这似乎是显而易见的,但我是比较新的节点,我找不到解决scheme。 目前我正在开发一个项目,我们在仓库中有多个站点,他们都需要build立一个大嘴。 构build每个站点的过程本质上是相同的,所以我们希望将gulpfile.js移出每个站点的子目录,并移动到repo的根目录,并将其链接到每个子目录中。 这使我们不需要维护多个gulpfiles并需要重复的node_modules。 运行安装脚本来符号链接gulp文件,并在克隆后运行npm install ,除了一个小问题之外,运行得非常好; 我们需要在每个站点的目录中引用package.json文件,以获取其名称,版本等作为一些吞噬任务的一部分。 当我符号链接gulp文件时, var pkg = require('./package.json')总是parsing到repo根目录下的package.json ,而不是从那里调用符号链接(这是有道理的,但不是我需要)。 我怎样才能保持gulpfile的符号链接结构,但require('./package.json')parsing./Site_1/package.json而不是./package.json . ├── Site_1 │ ├── README.md │ ├── config.yml │ ├── dist │ ├── gulpfile.js -> ../gulpfile.js │ ├── package.json │ └── src ├── Site_2 │ ├── README.md │ ├── config.yml │ ├── dist │ ├── gulpfile.js -> ../gulpfile.js │ […]

吞下Concat文件,然后任何其他js文件

我将如何去添加一些特定的顺序js文件,然后其他任何其他的? 我正在考虑这样做: var concat = require('gulp-concat'); gulp.task('scripts', function() { return gulp.src(['./lib/file3.js', './lib/file1.js', './lib/file2.js', './lib/**/*.js']) .pipe(concat('all.js')) .pipe(gulp.dest('./dist/')); }); 不知道这是否会重新添加已经concate文件,因为我使用一个glob。

我怎样才能依次运行三个参数?

到目前为止,我有这个代码: gulp.task('make_prod_aa', function () { makeAppHtml(config.srcAalHtml, function () { runSequence( 'makeTemplate', 'make_css_bundle', 'rename_css_bundle', 'make_js_bundle', 'rename_js_bundle', function () { makeAppIndex('index-aa.html'); }); }); }); 它允许我将parameter passing给两个函数,并依次运行函数和任务。 现在我想将parameter passing给第三个任务。 我想能够将config.aaTemplatesparameter passing给这里的任务makeTemplate: gulp.task('makeTemplate', function () { return gulp.src(config.aaTemplates) .pipe(print(function (file) { return "Added file " + file + " to template"; })) .pipe(minifyHTML({ collapseWhitespace: true })) .pipe(templateCache({ standalone: true, […]

如何调节BrowserSync的速度?

我如何configurationBrowserSync(从它的API)以较慢的速度提供内容? 理想情况下,我希望能够以受限制的速度提供某些文件,因此在开发时, localhost/index.html加载速度较快, localhost/dummyData.json加载速度较慢,所以我可以在开发Web应用程序时有效演示加载状态分离数据和表示。

无法在Windows中使用npm安装Gulp

我试图在命令提示符下使用以下命令在Windows 8中使用npm来安装Gulp: npm install gulp -g 我在命令提示符下面出现错误 C:\windows\system32>npm install gulp -g npm ERR! Windows_NT 6.3.9600 npm ERR! argv "C:\\Program Files\\nodejs\\node.exe" "C:\\Program Files\\nodejs\\ node_modules\\npm\\bin\\npm-cli.js" "install" "gulp" "-g" npm ERR! node v5.10.0 npm ERR! npm v3.8.3 npm ERR! code EAI_AGAIN npm ERR! errno EAI_AGAIN npm ERR! syscall getaddrinfo npm ERR! getaddrinfo EAI_AGAIN registry.npmjs.org:443 npm ERR! npm ERR! […]

来自gulp的API发布请求不成功

以下请求不成功。 我得到一个回应,但不是一个成功的回应。 我怎样才能解决这个问题? 我已经得到邮递员的请求,但不是一口气。 var proj = { "APIKey": "hidden", "APIPwd": "hidden", "Name": "Sample1", "ReplaceNames": true, "MoveStrings": true, "EncodeStrings": true, "items": [ { "FileName": "test0.js", "FileCode": "function hello(x,y){var z=11;return x+y+z;}" }, { "FileName": "test1.js", "FileCode": "var strs=['aaaa','bbbb','cccc','dddd','eeee','abcdefghijklmnopqrstuvwxyz0123456789']" } ] }; var options = { hostname: 'https://service.javascriptobfuscator.com/HttpApi.ashx', method: 'POST', headers: { 'Content-Type': 'text/json' } }; var […]

`npm run gulp`找不到模块'gulp-shell'?

我已经删除了node modules文件夹并使用npm install命令安装了npm。 我的gulpfile.js也是完美的,因为其他人正在使用这个configuration完美,即使我从我的另一台机器做了这个configuration。 但是当我尝试从当前机器运行npm run gulp ,它会显示下面的错误。 Fahads-MacBook-Pro:dark-web jim$ npm run gulp > jetaport@1.0.0 gulp /Users/jim/Documents/JETAPORT/dark-web > gulp module.js:327 throw err; ^ Error: Cannot find module 'gulp-shell' at Function.Module._resolveFilename (module.js:325:15) at Function.Module._load (module.js:276:25) at Module.require (module.js:353:17) at require (internal/module.js:12:17) at Object.<anonymous> (/Users/jim/Documents/JETAPORT/dark-web/gulpfile.js:6:13) at Module._compile (module.js:409:26) at Object.Module._extensions..js (module.js:416:10) at Module.load (module.js:343:32) at Function.Module._load (module.js:300:12) […]