Articles of gulp

为gulp-jasmine设置模块path

我试图unit testing一些Javascript代码与茉莉花使用pegparsing器。 pegparsing器是在构build时build立的。 不幸的是,我还没有发现如何告诉茉莉花dynamic构build的parsing器。 到目前为止,我得到了: gulp.task('parser', () => { return gulp.src("src/parser.peg") .pipe(peg()) .pipe(gulp.dest(".obj")) }); gulp.task('test', ["parser"], () => { return gulp.src(["tests/**/*.js", "src/**/*.js", ".obj/parser.js"]) .pipe(jasmine()) }); 现在,在testing运行的时候,parsing器被正确地构build并放入.obj ; 但它不在模块path上,所以testing加载了真实的代码,真正的代码尝试import parser from "parser" ,并且testing失败。 我可以改变真正的代码来导入../obj/parser而不是parser ,但是这当然会在生产中失败。 我需要以某种方式告诉茉莉花在.objfind模块。 怎么样?

Gulp突然停止了与BrowserSync的合作。 node_modules / glob-watcher上的RangeError

我正在运行Gulp的问题。 一切工作完美,但我今天来运行它,当我运行我的任务运行BrowserSync服务器,代理MAMP我得到以下错误。 Using gulpfile ~/Web Development/MAMP Server/Portfolio/gulpfile.js [20:18:33] Starting 'watchSass'… [20:18:33] Finished 'watchSass' after 13 ms [20:18:33] Starting 'serve'… [20:18:57] 'serve' errored after 24 s [20:18:57] RangeError: Maximum call stack size exceeded at Gaze._pollFile (/Users/thomashughes/Web Development/MAMP Server/Portfolio/node_modules/gulp/node_modules/vinyl-fs/node_modules/glob-watcher/node_modules/gaze/lib/gaze.js:331:19) at /Users/thomashughes/Web Development/MAMP Server/Portfolio/node_modules/gulp/node_modules/vinyl-fs/node_modules/glob-watcher/node_modules/gaze/lib/gaze.js:411:12 at Array.forEach (native) at /Users/thomashughes/Web Development/MAMP Server/Portfolio/node_modules/gulp/node_modules/vinyl-fs/node_modules/glob-watcher/node_modules/gaze/lib/gaze.js:409:11 at iterate (/Users/thomashughes/Web Development/MAMP Server/Portfolio/node_modules/gulp/node_modules/vinyl-fs/node_modules/glob-watcher/node_modules/gaze/lib/helper.js:52:5) at /Users/thomashughes/Web […]

如何重写CSS文件(Gulp.js)中的字体和图像的相对path?

在使用Gulp.js构build项目前端时,bower_components的CSS文件使用相对path引用其图像和字体 – 如何重写为绝对path? 例如,用一些内容input文件: .info{ background: url(themes/assets/hello.png) } 输出文件: .info{ background: url(/static/img/hello.png) } 另外,引用某个CDN的URL也没有改变。 这个怎么做?

在Gulp / BrowserSync中启用Cors

我用yeoman的样板代码创build了一个Angular项目( generator-gulp-angular ) 现在在我的控制器中,我试图做一个这样的http请求: $http.get('http://food2fork.com/api/search?key='+key+'&page=1').then(function(response) { vm.all = response.data; }); 但是我一直得到这个错误: 跨源请求被阻止: 同源策略不允许读取http:// food2fork上的远程资源…(原因:缺lessCORS头'Access-Control-Allow-Origin') 我做了我的研究,发现我需要添加这个访问控制到我的服务器,使用中间件属性,我做了,但我仍然不断收到错误在这里是我的server.js文件 var path = require('path'); var gulp = require('gulp'); var conf = require('./conf'); var cors = require('cors'); var browserSync = require('browser-sync'); var browserSyncSpa = require('browser-sync-spa'); var util = require('util'); var proxyMiddleware = require('http-proxy-middleware'); function browserSyncInit(baseDir, browser) { browser = browser === […]

在gulp和nodejs中使用Typescript时需要和导出的未定义引用

我曾经写我的Web应用程序在纯JavaScript,直到我去了解Typescript。 它是一个JavaScript的超集,我没有任何问题,如果我编写和编译它,并使用我的WAMP服务器执行它。 但是我听说了angular2(我知道angular1),我开始学习它使用https://www.lynda.com/AngularJS-tutorials/Learn-AngularJS-2-Basics/428058-2.html课程。 他使用nodejs , gulp , gulp -webserver 。 我做了精确的设置,但最后我得到了 Uncaught ReferenceError:导出未定义@ animal.ts:1。 未捕获的ReferenceError:require未定义@ cat.ts:1 然后,我切换到第一次学习如何设置吞咽环境从https://www.youtube.com/watch?v=7xOubdqyqaY 这里是我的项目目录结构: typescript/ |–app/ —-index.html, load animal.js, cat.js from js/ —-|–js, contains all compiles js files( animal.js, cat.js ) ——-|–lib, contains all library files |–node_modules/ |–typescript/, contains my written typescript files —|–animal.ts —|–cat.ts |–typing/s, contains typescript definition files |–gulp.config.js […]

Gulp任务:循环内部stream

关键是读取someFolder所有文件,然后用someFolder gulp-inject-string 使用这个问题的不相关标准将它们注入到一个固定的文件中。 我有一些伪代码: var gulp = require('gulp'); var inject = require('gulp-inject-string'); var fs = require("fs"); gulp.task('compile', function() { /* reading the file names in the directory */ var fileNames = fs.readdirSync('someFolder', 'utf8'); fileNames.forEach(function(fileName) { /* getting the whole file content and then removing what I don't want to be injected with a regex */ […]

SyntaxError:意外的严格模式保留字

我们有两个构build代理(Ubuntu 12.04),都安装了NodeJS 5和Gulp 3.9: $ nodejs -v v5.11.1 $ npm list | grep gulp ├─┬ gulp@3.9.1 但是在gulp build一个代理程序的过程中,一个代理程序成功地运行了, $ gulp build /var/lib/go-agent/pipelines/Worker/gulpfile.js:3 let requireDir = require('require-dir'); ^^^ SyntaxError: Unexpected strict mode reserved word at exports.runInThisContext (vm.js:73:16) at Module._compile (module.js:443:25) at Object.Module._extensions..js (module.js:478: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 […]

在生产版本上不要创buildCSS文件夹

我有一个使用两个gulpfiles编译的静态网站。 一个是gulpfile.dev.js ,它能够正确编译所有文件,并使用浏览器gulpfile.dev.js服务的静态服务器。 gulpfile.prod.js与dev文件完全相同,只是没有browsersync服务器。 当我使用DeployHQ编译我的文件来移动我的服务器上的文件时,它不编译必要的css文件夹。 我的gulpfile.prod.js文件: //DH var gulp = require('gulp'), //Task runner uglify = require('gulp-uglify'), //Minimizies JS sass = require('gulp-ruby-sass'), //Compiles to CSS imagemin = require('gulp-imagemin'), // Minimize images concat = require('gulp-concat'), concatCss = require('gulp-concat-css'), gutil = require('gulp-util'), autoprefixer = require('gulp-autoprefixer'), cssnano = require('gulp-cssnano'), pug = require('gulp-pug'), htmlmin = require('gulp-htmlmin'); // Define paths for […]

在VS2015 asp.net核心1.0项目中将文件从node_modules移动到wwwroot

当我创build一个新的ASP.NET Core 1.0应用程序时,我想使用npm而不是bower。 所以我删除了bower.json,并且另外删除了在wwwroot / lib文件夹中预先安装的所有东西。 我用下面的开发依赖项添加一个package.json文件到我的解决scheme: "devDependencies": { "bootstrap": "3.3.7", "jquery": "3.1.0", "jquery-validation": "1.15.1", "jquery-validation-unobtrusive": "3.2.6" } 但是,NPM会将所有库下载到我的项目根目录中的node_modules文件夹中。 我相信这是Gulp的目的。 有人可以告诉我如何使用gulp将分发文件从node_modules发送到我的wwwroot目录。 如果有任何我无法find的教程,请链接。

.pipe调用一个gulp插件时,会发生什么?

例如,这里是一个简单的gulp插件 'use strict'; var match = require('gulp-match'); var ternaryStream = require('ternary-stream'); var through2 = require('through2'); module.exports = function (condition, trueChild, falseChild, minimatchOptions) { if (!trueChild) { throw new Error('gulp-if: child action is required'); } if (typeof condition === 'boolean') { // no need to evaluate the condition for each file // other benefit is it […]