Articles of gulp

使用.bash_profile和“postinstall”脚本避免NPM全局安装

NPM的理念,无论好坏,都是为了在本地安装一个项目的所有必要的依赖项,在./node_modules和package.json中反映所有必要的代码。 我有一个图书馆,这通常会受益于全球安装和本地安装,类似于Gulp,Mocha等。 以上最棘手的问题之一是,全球和本地版本可能会有所不同,导致给定项目的兼容性问题。 我想我们可以通过在.bash_profile创build一个别名来避免这个问题,例如: # bash psuedocode * alias gulp='using current working directory, find the locally installed gulp and run that' 我的图书馆不是咕嘟咕嘟,但你明白了。 我知道很多开发者不喜欢第三方写给他们的bash_profiles的想法,但是我认为这有点肛门保留,考虑到做这样的事情没有外部效应(TMK)。 所以我有三个问题: (1)这是个好主意吗? (2)有没有什么项目可以做类似的事情? (3)我对bash脚本不是很了解,你如何编写一个bash脚本来recursion查找node_modules / .bin / gulp,如果你的开发者从项目内的目录运行gulp命令,而不是在根目录? 我的想法是,作为后安装脚本 npm install –save-dev gulp 我们将运行一个脚本 将上面的行*添加到.bash_profile 在这一行中,我们将指向存储在/Users/you/.gulp下的脚本,该脚本将负责定位本地安装的吞咽。 这样,我们可以节省模块的全局安装需求,只用于命令行的方便,同时也减轻了不同软件包版本的问题。

Task Runner Explorer窗口在我的Gulpfile.js下“加载失败”,并且没有任何构build进程被列出

这是随机更新我的CSS文件,然后刷新通知没有显示更改。 我最终注意到,Task Runner Explorer窗口在我的Gulpfile.js下没有加载,没有列出构build过程。 然后,我做了一些研究,重新排列外部工具的列表,正如一些SO线程提到的那样,没有任何东西。 然后我注意到gulpfile.js需要一些文件: var gulp = require("gulp"), gulpless = require("gulp-less"), sourcemaps = require("gulp-sourcemaps"), rimraf = require("rimraf"); 这些都不在node_modules文件夹中,所以我完成了npm install gulp-less和npm install gulp-sourcemaps,现在在Output> Task Runner Explorer中进行了检查,并且出现以下错误。 无法运行“C:\ projects \ Fusion \ FusionMVC \ Gulpfile.js”… cmd.exe / c gulp – 任务 – 简单 C:\项目\融合\ node_modules \吞-sourcemaps \ node_modules \ strip-.bom \ index.js:2 在Module.load(module.js:439:25)上的Module.exports = x […]

使用gulp删除index.html的body内容

我能够从索引中重命名文件名称。 使用以下configuration Gulp.js var rename = require("gulp-rename"); gulp.task('modify-html', function () { gulp.src('reports/index.html') .pipe(rename('/app.html')) .pipe(gulp.dest('reports/')); }); 有谁知道如何使用gulp删除我的HTML文件的正文内容 的index.html <html> <body> <h1>My First Heading</h1> <p>My first paragraph.</p> </body> </html>

如何创build一个使用gulp的node.js命令行实用程序

我一直在研究一个命令行工具,这个工具本质上是一个自定义的gulpconfiguration和一个自定义的gulp插件。 出于各种原因,我希望能够从另一个Node应用程序或命令行启动此进程。 有没有一个好的方法来做到这一点?

在项目中使用NodeJS,Bower和GulpJS,我应该从我的Git存储库中排除什么?

我最近开始从事一个web项目。 我在用着: NodeJS作为服务器 鲍尔 – 获得所有的依赖 GulpJS – 用于构build和其他任务 Git – 保存我的工作 为了简单,让我们说,我只写HTML / CSS / JavaScript。 在Git中保存所有的项目文件(包括外部JavaScript库)似乎没有意义,因为我只想保存核心文件(我自己创build和修改的文件)。 另一方面,如果我想把这个项目交给另一个开发人员,我只把他自己的文件交给他,而没有所有的依赖和库,他怎么知道哪个依赖要得到? 他将如何构build和运行项目? (我还是新来的凉亭,g and和节点) 那么,我需要在我的资源库中保存哪些文件(文件的最小数量)才能构build和运行项目?

使用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在同一目录中。