替代dev / prod环境的grunt.js任务

我正在尝试设置我的grunt.js文件,以便在我的生产服务器上运行时只运行min任务 – 在本地开发服务器上运行时,我不希望在每次更改时都删除我的代码,因为这是不必要的。 关于如何grunt.js可以区分开发/产品环境的任何想法?

我怎样才能检查两个对象具有相同的一组属性名称?

我正在使用节点,摩卡和柴为我的应用程序。 我想testing我返回的结果数据属性是与我的模型对象之一相同的“对象types”。 (非常类似于柴的实例)。 我只想确认这两个对象具有相同的一组属性名称。 我特别对这些房产的实际价值不感兴趣。 比方说,我有像下面的模型人。 我想检查我的results.data具有与预期模型相同的属性。 所以在这种情况下,Person有一个firstName和lastName。 所以如果results.data.lastName和results.data.firstName都存在,那么它应该返回true。 如果任何一个不存在,它应该返回false。 如果results.data具有诸如results.data.surname之类的任何其他属性,则奖励将会是,那么它将返回false,因为在Person中不存在姓氏。 该模型 function Person(data) { var self = this; self.firstName = "unknown"; self.lastName = "unknown"; if (typeof data != "undefined") { self.firstName = data.firstName; self.lastName = data.lastName; } }

因为业力茉莉花需要适当的记者

我有一个相当简单的karma.config.js文件 basePath = '../'; files = [ JASMINE, JASMINE_ADAPTER, 'js/lib/angular*.js', 'test/lib/angular/angular-mocks.js', 'js/**/*.js', 'test/unit/**/*.js' ]; autoWatch = true; browsers = ['PhantomJS']; 当我运行karma start config/karma.conf.js –single-run我收到以下输出 $ karma start config/karma.conf.js –single-run [2013-06-24 23:47:08.750] [DEBUG] config – autoWatch set to false, because of singleRun INFO [karma]: Karma server started at http://localhost:9876/ INFO [launcher]: Starting browser PhantomJS INFO [PhantomJS […]

如何捕捉node.js中的http客户端请求exception

我有一个node.js应用程序,我想用来检查一个特定的网站是否启动并返回正确的响应代码。 我希望能够捕捉出现的任何错误,因为域名不解决或请求超时。 问题在于这些错误会导致Node出错。 我是新来的整个asynchronous编程方法,所以我不知道在哪里把我的try / catch语句。 我有一个类似/ check / site1的ajax调用。 服务器端调用一个试图build立连接的函数,然后返回statusCode。 这是一个非常简单的函数,我把每一行都封装在一个try / catch中,它从来没有捕获任何东西。 这里是: function checkSite(url){ var site = http.createClient(80, url); var request = site.request('GET', '/', {'host': url}); request.end(); return request; } 即使在try / catch中包装的每一行中,仍然会遇到类似EHOSTUNREACH等未捕获的exception。 我希望能够抓住那些并将其返回给ajax调用。 任何关于下一步尝试的build议?

如何将文件a移动到Node.js中的其他分区或设备?

我试图将一个文件从一个分区移动到另一个Node.js脚本中。 当我使用fs.renameSync收到Error: EXDEV, Cross-device link 。 我会复制它,并删除原来的,但我没有看到一个命令来复制文件。 如何才能做到这一点?

如何得到npm全局path前缀

我相信在过去我发现了一个选项来传递给npm ,让它输出它为-g (全局模块)使用的path。 有谁知道这样的select? 或者任何其他方法来获取全局path前缀npm正在使用? 我知道全局模块在我的计算机上的位置( /usr/local/share/npm/bin ),通常只需要几分钟就可以在其他计算机上find全局模块:通常$PATHconfiguration正确,如果没有,那么,捅了一圈就行了。 但是,是不是有一些快速的方法可以告诉我们如何构buildnpm ,以及它用于全局模块的path?

警告:运行“指南针:服务器”(指南针)任务

D:\Projects\mallspk>grunt serve Running "serve" task Running "clean:server" (clean) task >> 0 paths cleaned. Running "wiredep:app" (wiredep) task Running "wiredep:test" (wiredep) task Running "wiredep:sass" (wiredep) task Running "concurrent:server" (concurrent) task Warning: Running "compass:server" (compass) task Warning: Command failed: 'compass.bat' is not recognized as an internal or exter nal command, operable program or batch file. Use –force […]

从npm下载源码,不需要npm install xxx

可以从(npm.org)下载一个应用程序的源代码而不使用npm install xxx? 这是因为我需要一个不在github中的包,但在安装npm install时出错,下载文件时出现错误。

如何在Mongoose模型中定义方法?

我的locationsModel文件: mongoose = require 'mongoose' threeTaps = require '../modules/threeTaps' Schema = mongoose.Schema ObjectId = Schema.ObjectId LocationSchema = latitude: String longitude: String locationText: String Location = new Schema LocationSchema Location.methods.testFunc = (callback) -> console.log 'in test' mongoose.model('Location', Location); 要调用它,我正在使用: myLocation.testFunc {locationText: locationText}, (err, results) -> 但是我得到一个错误: TypeError: Object function model() { Model.apply(this, arguments); } has no […]

密码的Node.jsencryption

我目前使用以下encryption密码: var pass_shasum = crypto.createHash('sha256').update(req.body.password).digest('hex'); 你能否build议改进以使项目更安全?