Articles of gruntjs

共享主机需求/部署工作stream程

我正在评估kunstmaan包 ,它是用symfony(或顶部)构build的cms。 要求是: Node.js的 上海社会科学院 鲍尔 咕噜 UglifyJS UglifyCSS 我的想法是: 这些应用程序只在开发环境中需要吗? 对生产环境有什么要求?

“grunt install”在Ubuntu上返回错误

当我尝试在具有从NodeSource安装的最新nodejs的Ubuntu 14.04盒子上运行“grunt install”时,出现以下错误。 jit-grunt:未find“安装”任务的插件。 如果你已经安装了插件,请设置静态映射。 请参阅https://github.com/shootaroo/jit-grunt#static-mappings 警告:任务“安装”失败。 使用–force继续。 由于警告而中止。 这里是与jit-grunt相关的Gruntfile.js的一部分: require('jit-grunt')(grunt, { express: 'grunt-express-server', useminPrepare: 'grunt-usemin', ngtemplates: 'grunt-angular-templates', cdnify: 'grunt-google-cdn', protractor: 'grunt-protractor-runner', injector: 'grunt-asset-injector', buildcontrol: 'grunt-build-control' }); 有人能指出正确的方向吗?

Bootstrap LESS – Grunt手表输出到特定的目录

当谈到命令行,批处理和东西我总是noob。 老实说。 我正在使用Windows 7 64位和Bootstrap 。 我想用LESS试试Bootstrap,原因有二: 更好地pipe理Bootstrap的CSS和颜色variables 要学习LESS,以便稍后可以使用它。 所以我按照说明去安装node.js和Grunt。 只要我使用> grunt dist命令,每一个都变得顺利和干净。 没有错误,CSS准备好了。 但是,每次运行命令和移动文件(我把.less项目与我的php框架分开)是有点无聊的,所以我看着> grunt watch 。 它工作正常,但我仍然需要移动我的文件。 问题来了: 有没有办法改变这个命令,让Grunt将bootstrap文件保存在别的地方? 我使用的Gruntfile.js是我用bootstrap获得的一个香草 。

运行Grunt任务之前进行确认

我在Gruntfile.js中有一个任务可能会擦掉我的项目,我想用“你确定要运行这个任务吗?”来保护它。 运行之前的问题,只是为了安全。 就像是: grunt.registerTask('install', 'Run this only once when starting a project!', function() { console.log('Are you sure? Y/n:'); // If yes, continue with task grunt.task.run('copy_install'); }); 但我不知道如何使它等待键盘input和读取input。 无法find这个logging。

如何在grunt插件中运行createReadStream(一个stream)?

我正在试图在一个咕噜声插件中创build一个stream,并失败… 此代码作为独立节点脚本运行: var fs = require('fs'); var sourceFile = 'testfile.log'; fs .createReadStream( sourceFile ) .on('data', function() { console.log('getting data'); }) .on('end', function() { console.log('end!'); }); 产量 $ node test.js getting data end! 现在,当把这个插入一个咕噜插件: 'use strict'; var fs = require('fs'); module.exports = function(grunt) { grunt.registerMultiTask('test', 'Testing streams', function() { var sourceFile = 'testfile.log'; fs .createReadStream( sourceFile […]

如何通过grunt-nodemon重新启动node.js服务器时输出时间戳?

我有简单的hello world nodejs express应用程序,我只是添加了grunt-nodemon,它应该监视* .js文件上的更改。 这里是我运行grunt然后更改一些.js文件时得到的控制台输出: Running "nodemon:dev" (nodemon) task [nodemon] v1.3.7 [nodemon] to restart at any time, enter `rs` [nodemon] watching: *.* [nodemon] starting `node server.js` Example app listening at http://:::3000 [nodemon] restarting due to changes… [nodemon] starting `node server.js` Example app listening at http://:::3000 有没有办法在控制台日志中看到每个这些行的前置时间戳? 例如。 18:44:21 – Running "nodemon:dev" (nodemon) task 18:44:21 […]

Grunt在任务执行之间执行自定义脚本

是否有可能做一个咕task任务以下内容? grunt.registerTask('build', 'Building app', function () { grunt.task.run([ 'clean:dist', 'wiredep', 'useminPrepare', 'ngtemplates', 'concat:generated', 'ngAnnotate', 'copy:dist', 'cdnify', 'cssmin' ]); // Replace "vendor-*.js" references to "vendor.js" require('./custom_modules/changeref/changeref')(grunt, this.async, { filePath: './dist/*.html', find: /(vendor-).*\.js/ig, replaceBy: 'vendor.js' }); grunt.task.run([ 'uglify', 'filerev', 'usemin', 'htmlmin' ]); }); 基本上,我需要一个具有加载一些.html文件的function的节点模块,并replace它们中的一些引用。 这个想法是能够在两组任务之间做到这一点。 我已经testing了它,似乎我的自定义函数在执行grunt任务之前被执行。 这是changeref.js模块: 'use strict'; var path = require('path'); module.exports = function(grunt, async, […]

build立一些文件,其余的复制

我有一个非常简单的项目。 我有一些bash文件和src/目录中的一些JavaScript文件,我想要传输JS文件,并复制其余的。 这是我的文件夹结构: root |- dist // Where grunt should output |- src | |- run_code // this is a bash file calling `code` | |- code.es6 // My JavaScript files | |- Gruntfile.js |- package.json 所以目前我有一个叫做babel的Gruntfile,它把我的.es6文件转换成.js ,但不幸的是,我的bash文件run_code没有被转发。 这是我的gruntfile: module.exports = function(grunt) { require('load-grunt-tasks')(grunt); grunt.initConfig({ babel: { options: { presets: ['es2015'], plugins: [] }, dist: […]

不能安装grunt-cli,但可以安装凉亭

我有一个没有身份validation代理后面的Linux框。 我已经configurationgit使用https而不是git。 url.https://.insteadof=git:// 我已经设置了我的http_proxy和https_proxy环境variables以及npm代理。 ; cli configs user-agent = "npm/3.8.6 node/v6.0.0 linux x64" ; userconfig /jenkins/.npmrc https-proxy = "{host}:8060" proxy = "{host}:8060" 我可以安装凉亭: npm install -g bower 但是当我尝试 npm install -g grunt-cli 我得到: npm ERR! fetch failed https://registry.npmjs.org/grunt-cli/-/grunt-cli-1.2.0.tgz npm WARN retry will retry, error on last attempt: Error: tunneling socket could not be established, cause=connect […]

用Node.js在dir中search文件

我目前正在尝试使用node和grunt在Windows上的特定文件夹中search几个文件。 我有一个grunt task ,它有一个读取带有JSON文件的目录的函数,但问题是,当我运行任务时,读取文件的代码不会执行任何操作。那。 我不知道如果path的引用是正确的,但我也使用path.normalize() ,它不会引发任何错误。 这是代码片段: ..// Some other code var fs = require('fs'), path = require("path"); grunt.registerTask('separate', function() { var filePath = path.normalize("C:\Users\jbernhardt\Desktop\testkeeper\jenkinsReports"); fs.readdir(filePath, function(err, filenames) { //This log doesn't show as it the function is not running grunt.log.writeln("Testing"); if (err) { grunt.log.writeln("Error"); return; } filenames.forEach(function(filename){ grunt.log.writeln("Testing"); }); }); …//Some more code below […]