Articles of gruntjs

如何将外部JSON数据从前一个任务中生成的文件传递给任务?

我被困在这里了。 我有这种types的任务gruntfile: grunt.initConfig({ shell: { // stub task; do not really generate anything, just copy to test copyJSON: { command: 'mkdir .tmp && cp stub.json .tmp/javascripts.json' } }, uglify: { build: { files: { 'output.min.js': grunt.file.readJSON('.tmp/javascripts.json') } } }, clean: { temp: { src: '.tmp' } } }); grunt.registerTask('build', [ 'shell:copyJSON', 'uglify:build', 'clean:temp' ]); 而且,cource,这是行不通的,因为没有.tmp/javascripts.json文件: […]

手表不刷新文件更改页面(快速网站)

当我更改项目文件时,浏览器自动重新加载页面将会很好。 我有这个节点快递网站的服务器被定义在'server.js' 但是,我尝试了不同的gruntconfiguration,但没有一个导致浏览器重新加载文件更改,尽pipe“watch”任务打印一条消息说文件已更改! 这是相关的gruntconfiguration: watch: { all: { files: 'views/index.ejs', // for now only watch this file! options: { livereload: true } } }, express: { options: { background: true, error: function(err, result, code) {}, fallback: function() {}, port: 3000 delay: 0, output: ".+", debug: false }, dev: { options: { script: './server.js', node_env: 'development', […]

Webstorm中运行茉莉花testing停止跟踪与退出码0

我通过grunt在我的node.js应用程序中运行jasminetesting。 我已经将Grunt grunt test添加到了Webstorm的运行configuration中。 在“运行/debuggingconfiguration”中,“Grunt Test”具有以下属性:节点解释器( node.exe中的node.exe ),工作目录(项目位置),JavaScript文件(grunt binary)以及应用程序参数名称)。 configuration正常工作,但停止打印完整的茉莉花输出。 有时在打印任何输出之前,大多数情况下经过茉莉花日志的某个部分之后,而是在testing总结或错误细节之前。 总是输出的最后一行是 Process finished with exit code 0 当我使用Webstorm命令并在控制台中手动运行它时,它工作正常,并且始终打印完整输出: "C:\Program Files\nodejs\node.exe" C:\…\node_modules\grunt-cli\bin\grunt test 我的testing包括asynchronous的情况下,所以大约需要20秒来运行它们。 我注意到,每个尝试通过Webstorm运行testing打印一点点输出。 第一次尝试结束没有任何,但十后进一步我得到完整的输出与testing总结。

节点:标签之间的git日志

使用git,你可以在两个标签之间得到一个漂亮的消息日志。 git log –pretty=oneline tagA…tagB 我一直在使用一个Ruby的Git库,让我做同样的事情: git = Git.open(".") logs = git.log.between tagA, tagB 但是我正在尝试重写一些与Grunt更兼容的东西,并试图find一个体面的方法来完成这个节点。 现在我能想到的唯一方法是使节点与terminal交互并获得输出,但是我认为这不是一个好的方法。 有什么build议么 ?

用Grunt构build手写笔主题

我希望我的手写笔文件接受来自grunt的variablesinput,循环variables值,并输出不同的主题CSS文件。 然后,我可以轻松地切换这样的主题。 https://stackoverflow.com/a/7847009/55124 这可能吗? 如何设置它? 现在我咕噜地编写我的CSS的手写笔。 但是,要生成一个不同的主题,我不得不手动改变我mainCSS.stylus文件中的我的themeNamevariables的值,并用grunt重build。

GruntJS可configuration的首次运行

我正在开发一个angular度演示应用程序,我想自动化很多事情。 这是一个样板,虽然是一个更复杂的,我想要一个configuration文件,其中我们将API键和其他东西,我希望该文件由Grunt与用户交互当项目是第一次开始。 就像是: grunt build – 它应该直接在控制台询问用户API密钥,这将被插入configuration文件,我为整个应用程序定义一些全局常量。 Grunt有没有这样的function的例子?

使用npm安装后无法运行grunt

我正在尝试安装和使用咕噜声。 我使用npm install grunt -g来安装 它似乎安装 – grunt@0.4.3 /Users/me/.node/lib/node_modules/grunt 当我在terminal打开一个新的标签,并运行咕噜我得到 -bash: grunt: command not found 我的path是这样的 $ echo $PATH /Users/me/.rbenv/shims:/Users/me/.rbenv/shims:/bin:/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin:/usr/local/mysql/bin:/usr/local/mysql/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/opt/X11/bin:/usr/local/git/bin 有什么build议? 这是杀了我。 我也安装了grunt-cli,仍然不能正常工作 – npm install grunt-cli -g /Users/me/.node/bin/grunt -> /Users/me/.node/lib/node_modules/grunt-cli/bin/grunt 我打开一个新标签 -bash: grunt: command not found 我使用节点安装程序安装节点。 我在OSX上。 我刚刚添加/.node/bin到我的path,请参阅下面 – echo $PATH /Users/me/.rbenv/shims:/Users/me/.rbenv/shims:/.node/bin:/bin:/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin:/usr/local/mysql/bin:/usr/local/mysql/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/.node/bin:/opt/X11/bin:/usr/local/git/bin 它仍然没有工作。

我如何使用dynamic生成的文件名数组在Grunt中运行任务?

我对使用Grunt相当陌生,但对于如何安装和运行任务有相当好的理解。 到目前为止,我能够运行所有我想要的东西,其中包括缩小js,复制文件和运行jshint。 我现在想运行“干净”从文件夹中删除文件,但只有一个选定的文件,我希望dynamic生成的数组。 所以,如果我有一个dynamic生成的数组,例如 var deleteFilenames = ["file3.js","file2.jpg","file7.html"] etc. 我将如何设置一个干净的任务删除这些文件? 任何帮助非常感谢。

NodeJS /浏览器交叉开发

我正在研究针对浏览器和NodeJS应用程序的库。 模块使用AMD惯例,它在理论上足够灵活,足以映射今天的任何情况。 源文件然后将被转换为工具分发给不同的平台 – 再次浏览器和NodeJS。 顺便说一下,有一个叫做uRequire的奇妙工具可以帮助我,但是我仍然不确定我的最佳select,所以我在这里要求相关的经验。 这里是我有的文件层次结构: – bower_components/ – eventemitter2/ … – lodash/ … – source/ – library/ – lodash.js -> ../../bower_components/lodash/dist/lodash.js – EventEmitter.js -> ../../bower_components/eventemitter2/lib/eventemitter2.js – Observable.js: define(["lodash", "EventEmitter"], function(Utility, EventEmitter) { function Observable(options) { … }; return Observable; }); 最后,浏览器和NodeJS双方的最大区别是: 浏览器端: EventEmitter实现只是被configuration为“library / EventEmitter”的eventemitter2浏览器模块。 EventEmitter端: EventEmitter从require("events").EventEmitter , events是本地包,不是本地文件或模块。 所以,我的问题是:我怎么可以有Observable对象与NodeJS工作没有大规模的修补? 我不知道如何使EventEmitter实现可用于我的模块,因为它不是一个本地模块(因为我不能写任何path映射),而且它不是直接模块本身,我们将使用,但它的“EventEmitter”属性… 任何帮助/思考,将不胜感激。 我相信很多人都跑了类似的情况,我很想知道他们要说什么!

是否需要在使用grunt时为每个项目创buildnode_modules文件夹

而使用grunt node_modules目录是为我创build的每个项目创build的,它们是很多正在进行的重复,我不喜欢…. 我现在正在使用grunt-collections,但是效率很低,并且正在寻找一个替代解决scheme。 我不太了解节点,但是不能从nodejs目录中的node_modules目录中使用grunt模块? 编辑:他们的任何方式来安装包全球…?