Tag: gruntjs

为什么这个MongoDB连接不能在grunt脚本中工作?

如果我运行这个使用节点它打印“连接到数据库”: var MongoClient = require("mongodb").MongoClient; MongoClient.connect("mongodb://localhost/db1", function(err, db) { if (err) { throw err; } console.log("Connected to Database"); db.close(); }); 但是,如果我试图用一个Grunt任务来运行它,它什么都不做,并且默默无闻。 module.exports = function(grunt) { return grunt.registerTask("task", "subtask", function() { var MongoClient = require("mongodb").MongoClient; return MongoClient.connect("mongodb://localhost/db1", function(err, db) { if (err) { throw err; } console.log("Connected to Database"); db.close(); }); }); }; 谁能告诉我为什么这应该是,也许提供一个解决方法?

grunt:观看并同步文件

我想运行一个本地同步守护进程。 它应该看src目录,并将任何更改的文件复制到dst目录。 在src有很多子目录,所以应该保留相对path。 dst中所有必要的子目录都已创build。 我只想过滤 *.js文件。 我find了一个咕噜声同步工具。 文档太短,我甚至不知道它是否适合我。 这是我的Gruntfile : module.exports = function (grunt) { grunt.initConfig({ sync: { main: { files: [{ cwd: src, src: ['**/*.js'], dest: dst }] } } }); grunt.loadNpmTasks('grunt-sync'); grunt.registerTask('default', 'sync'); }; 当我运行咕噜声时,我看不到任务。 Grunt冻结了几秒钟,然后复制所有文件并退出。 我想要一个手表同步守护进程。

Grunt:recursion模板如何工作?

我是Grunt的新手,并且在recursion模板方面遇到了一些问题。 下面是一个具体的例子: var path = require('path'); module.exports = function(grunt) { grunt.initConfig({ // Stash path here so we can reference it from templates. path: path, argPrint: function(arg1, arg2) { return "arg1: " + arg1 + " arg2: " + arg2; }, build: { root_dir: __dirname, build_dir: '<%= path.resolve(build.root_dir, "dev") %>', vendor_dir: '<%= path.resolve(build.build_dir, "vendor") %>', classes_dir: […]

麻烦发布一个咕噜插件

我已经做了我的第一个grunt插件,当我尝试运行npm publish我得到了一个need auth错误,所以我运行npm adduser并在写入我的用户名和密码后,我得到这个错误: npm ERR! Error: default value must be string or number npm ERR! at read (/usr/lib/node_modules/npm/node_modules/read/lib/read.js:15:11) npm ERR! at readEmail (/usr/lib/node_modules/npm/lib/adduser.js:96:3) npm ERR! at loop (/usr/lib/node_modules/npm/lib/adduser.js:33:20) npm ERR! at /usr/lib/node_modules/npm/lib/adduser.js:89:5 npm ERR! at Interface.onLine (/usr/lib/node_modules/npm/node_modules/read/lib/read.js:111:5) npm ERR! at Interface.EventEmitter.emit (events.js:95:17) npm ERR! at Interface._onLine (readline.js:202:10) npm ERR! at Interface._line (readline.js:531:8) npm ERR! […]

Grunt.js DEV与PROD任务

刚刚开始学习一些Grunt(以及替代 – gulp.js),我遇到了一些困惑,我似乎无法自己弄清楚。 我了解如何为不同的环境定义不同的任务,以便提高效率并提高性能,但是我陷入困境的是如何正确使用这两种types的任务。 问题1:假设我有一个images目录,我不想在开发过程中运行grunt-contrib-imagemin ,但是想在生产过程中运行grunt-contrib-imagemin ,以便“已处理”的图像以images/build grunt-contrib-imagemin 。 我如何解释我的文件path? 有没有办法自动化? 问题2:我不是开发者,对于任何types的服务器configuration我都没有什么经验,所以当人们说“在你的服务器上运行grunt build ”的时候我感到困惑。 那会发生在哪里? 甚至有可能像iPage这样的廉价共享主机? 我真的想通过构build工具来扩展我的知识,所以任何build议或意见都是值得欢迎的。 感谢您抽出宝贵的时间!

如何更改package.json输出位置

是否有一个package.json选项来指定node_modules目录的相对位置? 对于我的应用程序,我有一个如下所示的目录结构。 当前目录结构 root/ —/client ——-/(client code) —/server ——/package.json* (sibling of node_modules) ——/node_modules* ——/server.js 我想将grunt任务添加到项目的根目录(因为它们将应用于客户端代码和服务器代码)。 Gruntfile.js需要是package.json的兄弟 。 我想将package.json移到根目录,但是我也想把node_modules保存在服务器目录下。 在package.json中有一个选项来做到这一点吗? 我想要得到的目录结构如下所示。 首选目录结构 root/ —/package.json* (not a sibling of node_modules) —/Gruntfile.js —/client ——-/(client code) —/server ——/node_modules* 像下面这样的选项是最受欢迎的(在npm文档中似乎没有这样的选项) 假设的package.json { "output_dir": "server/node_modules", // Something like this "dependencies": { … }, "devDependencies": { … } }

如何捆绑客户端组件(js / less / css / img)

作为一个团队,我们build立了客户端组件库。 每个组件都有一些资源(JS / LESS / CSS / IMG / FONTS)。 目前我已经探讨了描述客户端组件,我可以使用鲍尔/组件(如果有其他任何请让我知道)。 但我不知道如何(或者即使有可能)捆绑组件 。 让我们考虑一个场景: 所以现在,我已经描述了每个组件(包括Bower / Component或其他),例如: 组件A对jQuery,jQuery UI有依赖性 组件B对下划线,jQuery,Component A有依赖性 组件C对组件B有依赖性 组件D对组件A有依赖性 我想将它们捆绑在一个Web应用程序中。 例如,我想指定我的应用程序使用组件C和D.结果我会有一个: JavaScript bundle(bundle.js)与来自组件C + JavaScript的所有必要脚本的依赖关系 CSS bundle(bundle.css),其中包含来自依赖关系的组件C + CSS的所有必要样式。 当我使用LESS时,在中间有一个LESS – > CSS转换是很好的。 现在最终的任务是:在我的web应用程序中,我只想包含单个JavaScript bundle.js和单个css bundle.css。 我可以想象,有一个工具可以检查组件的元数据(bower.json / component.json / package.json),并对CSS / JS依赖关系图进行分析,并在输出捆绑包中只包含一次所需的文件。 但是如何实现呢?

如何将一个npm脚本转换成一个咕噜的任务?

我有我的nodeJS下面的脚本。 "scripts": { "start": "grunt", "test": "node –debug –harmony node_modules/grunt-cli/bin/grunt test" } 我正在运行节点v0.11.13,所以我需要设置 – 和谐标志。 在咕噜的testingconfiguration正确,如果我用npmtesting启动它们,但我宁愿将它全部在一个grunt文件。 有没有办法configurationgrunt来启动服务器,并运行testing?

使用grunt-develop

我创build了一个简单的NodeJS + Express应用程序,运行时使用node app.js 现在,我正在尝试整合grunt-develop 。 我这样configuration它: grunt.initConfig({ develop: { server: { file: 'app.js' } } }); 当我运行grunt develop ,日志是: Running "develop:server" (develop) task [grunt-develop] > started application "app.js". Done, without errors. 服务器不启动,并提示下一个命令。 我究竟做错了什么?

如何使用grunt连接angularjs文件

我有一个angularjs应用程序。 我想连接所有的angularjs文件到单个文件。 我正在使用grunt并search关于连接grunt插件。 我发现有grunt-contrib-concat和grunt-concat-in-order插件。 但是,我无法find关于如何连接依赖文件的例子的答案。 请让我知道如何使用grunt-concat-in-order插件指定依赖关系。 注意:在grunt-concat-in-order文件中,它指出了指定framework.require(“moduleA”)。 但不知道什么框架。 有没有什么有效的方法来指定一个文件中的依赖关系? 在此先感谢Rajaguru