Tag: gruntjs

Grunt-cli和Grunt – 相同的应用程序,两个版本?

ACHTUNG! 被接受的答案当时回答了我的问题,但现在已经过时了。 当时grunt-cli使用了grunt,但是使用了另一个分支。 未被接受的答案会告诉你今天是怎么回事。 题 grunt-cli和grunt之间的关系和区别是什么? 这似乎是同样的事情,但不同的版本。 咕噜 https://npmjs.org/package/grunt https://github.com/gruntjs/grunt 咕噜-CLI https://npmjs.org/package/grunt-cli https://github.com/gruntjs/grunt/blob/devel/docs/getting_started.md

gruntjs minify / uglify后,在html中更改链接或脚本文件名

我正在使用标准的minify / uglify for css / js文件,并将多个文件合并到main.min.css或app.min.js中…但是我的.html文件需要修改以指向这些新的文件名, <link>或<script> 有没有办法让这个自动化? 或者如何自动修改.html文件,以使用gruntjs重命名文件名?

Grunt(节点) – 如何显示可用的任务?

虽然习惯使用Rakefile,Cakefile和Jakefile,但他们都有一些方便的方式列出可用的任务。 喜欢 jake -T jake db:dump # Dump the database jake db:load # Populate the database ..等等。 甚至过滤“jake -T dum”,只显示“jake db:dump”任务。 那么,有没有办法使用grunt来做同样的事情呢? 我想创build一个默认的任务迭代整个gruntconfiguration对象,并通过console.log写入到标准输出,但有人知道一个更好的方法? 谢谢。

尝试运行grunt时找不到模块“findup-sync”

我在安装后运行grunt-cli时遇到了麻烦。 我跑 npm install -g grunt-cli 然后运行grunt错误 node.js:63 throw e; ^ Error: Cannot find module 'findup-sync' at loadModule (node.js:275:15) at require (node.js:411:14) at Object.<anonymous> (/home/tmartin/bin/grunt:9:14) at Module._compile (node.js:462:23) at Module._loadScriptSync (node.js:469:10) at Module.loadSync (node.js:338:12) at Object.runMain (node.js:522:24) at Array.<anonymous> (node.js:756:12) at EventEmitter._tickCallback (node.js:55:22) at node.js:773:9 这是我所安装的: tmartin@timcomp:~$ npm list -g /home/tmartin/lib └─┬ grunt-cli@0.1.6 ├─┬ findup-sync@0.1.2 […]

如何匹配每个文件,但只有一个在grunt concat?

我使用grunt来连接和最小化我的js文件,我使用下面的configuration为concat部分: concat: { dist: { src: ['<banner:meta.banner>', 'js/*.js'], dest: 'js/script.js' } } 它匹配我的js文件夹中的每个文件,但我需要忽略modernizr.js ,有没有办法做到这一点? 我想我会需要一些模式匹配的巫术做到这一点,但我不知道如何。 提前致谢。

对于某些Windows用户,“grunt”不被识别为内部或外部命令

Grunt不适用于所有Windows用户。 有些用户在运行npm install命令时遇到了一些问题, 它打印一条消息如下。 E:\Worksapce\web>npm install npm WARN package.json registers@4.0.0 No repository field. 当我尝试npm install -g grunt-cli ,我认为它是成功的。 E:\Worksapce\web>npm install -g grunt-cli npm http GET http://registry.npmjs.org/grunt-cli npm http 304 http://registry.npmjs.org/grunt-cli npm http GET http://registry.npmjs.org/nopt npm http GET http://registry.npmjs.org/findup-sync npm http GET http://registry.npmjs.org/resolve npm http 304 http://registry.npmjs.org/nopt npm http 304 http://registry.npmjs.org/resolve npm http 304 http://registry.npmjs.org/findup-sync npm […]

运行Grunt任务时会出现优雅-fs警告

运行我的一个咕噜任务时,我得到这个警告: Warning: (node:2771) fs: re-evaluating native module sources is not supported. If you are using the graceful-fs module, please update it to a more recent version. 有人知道如何摆脱? 以及如何find它的来源? 我的nodejs版本是6.0.0。

Grunt编译Jade文件

我正在尝试configuration我的Gruntfile,将我所有的Jade文件编译成单独的HTML文件。 例如,如果我有以下源文件夹: source └── templates ├── first.jade ├── second.jade └── third.jade 那么我会期待grunt jade输出: build └── templates ├── first.html ├── second.html └── third.html 这里是我使用grunt-contrib-jade Gruntfile: module.exports = function(grunt) { grunt.initConfig({ jade: { compile: { options: { client: false, pretty: true }, files: [ { src: "*.jade", dest: "build/templates/", ext: "html", cwd: "source/templates/" } ] } }, […]

dynamic添加版本号到目标输出文件w / grunt

我有我们的版本号package.json文件,如: { name: "myproject" version: "2.0" } 我的目标是dynamic地将package.json文件中的版本号添加到输出文件中。 例如,在javascript中,我不想手动更新版本号,但是想要在每个grunt构build之后生成类似于这个的东西: /* My Project, v2.0 */ window.myProject = { version: "2.0" }; 在我的Gruntfile.jsconfiguration中有一个简单的方法吗?

使用Yeoman和Mocha进行NodeJS和客户端的全面集成testing

我有很好的与Yeoman一起运行的客户端testing。 Yeoman编译我的CoffeeScript,在服务器上打开testing页面,使用PhantomJS访问它,并将所有testing结果传递到命令行。 这个过程相当不好,testing结果通过alert()消息传递给Phantom进程,Phantom进程创build一个临时文件,并将消息填充为JSON。 Yeoman(well,Grunt)遍历临时文件,parsingtesting并将其显示在命令行中。 我解释过程的原因是我想添加一些东西。 我也有服务器端testing。 他们使用mocha和supertest检查API端点和Redis客户端,以确保数据库状态符合预期。 但我想合并这两个testing套件! 我不想为服务器调用写客户端模拟响应。 我不想发送服务器模拟数据。 一路上我会换服务器或客户端,testing不会失败。 我想做一个真正的集成testing。 因此,无论何时在客户端testing完成,我想要一个钩子在服务器端运行相关的testing(检查数据库状态,会话状态,移动到不同的testing页面)。 有没有解决办法? 或者说,从哪里开始对Yeoman / Grunt / grunt-mocha进行黑客攻击? 我觉得grunt-mocha里的Phantom Handlers是一个很好的开始: // Handle methods passed from PhantomJS, including Mocha hooks. var phantomHandlers = { // Mocha hooks. suiteStart: function(name) { unfinished[name] = true; currentModule = name; }, suiteDone: function(name, failed, passed, total) { delete unfinished[name]; […]