Tag: underscore.js

下划线的Mongoose对象克隆和删除属性不工作?

我正在使用Mongoose,我想从我的Mongoose实例中删除_id属性,然后将JSON响应发送到客户端。 例: var ui = _.clone(userInvite); delete ui["_id"]; console.log(JSON.stringify(ui)); //still has "_id" property, why? 以前没有工作。 但是,如果我这样做: var ui = JSON.parse(JSON.stringify(userInvite)); //poor man's clone delete ui["_id"]; console.log(JSON.stringify(ui)); //"_id" is gone! it works! 我不明白为什么使用Underscore调用克隆的对象上的delete不起作用,但如果我做hacky JSON.string / JSON.parse,它的工作原理。 有关这种行为的任何想法?

使用Node.js连接到REST API

使用Node.js写一个连接两个REST API的独立应用程序是否明智? 一端是POS销售点系统 另一个将是一个托pipe的电子商务平台 将有一个最小的界面来configuration服务。 而已。

Node.js Express将Underscore.js注册为视图引擎的示例?

Underscore.js没有像ejs和jade这样的编译函数,但是作为Node.js模块工作。 请有人提供一个如何使其在Express应用程序内工作的例子?

为什么我不能在nowjs中扩展每个人的口袋?

我试图在nowjs的每个人的pocket提供function。 我想这样做, _.extend每个人的口袋,即everyone.now 。 由于某些我无法理解的原因,_. _.extend无法在客户端正确提供该function。 这是我现在的代码: var _ = require("underscore"), everyone = require("nowjs").initialize(app); everyone.now.foo = function() {}; _.extend(everyone.now, { bar: function() {} }); console.log(everyone.now.foo); // [Function] console.log(everyone.now.bar); // undefined 在服务器和客户端,我可以做now.foo()就好了。 另一方面, now.bar()失败,因为now.bar没有定义。 客户端和服务器端都是这种情况。 我试图检查服务器端是否存在,如上面最后一行所示。 但是,这行日志undefined 。 Underscore的extend函数(显然)在其他对象上工作,所以我想这跟现在使用的“魔法命名空间”有关。 如何扩展不适用于everyone.now ,我怎样才能使它工作? 编辑2:我进一步挖掘代理。 它似乎是通过传递一个variables作为其名称不起作用来设置代理上的属性。 我删除了我的第一个编辑,因为这个testing用例缩小了。 为什么这不起作用? 这是一个错误? (大多数时候我自己问这个问题,我知道这不是,但这真的让我无能为力……) var proxy = Proxy.create({ get: function(pr, name) { console.log("get […]

如何将Underscore.js模板与EJS一起使用?

它们都使用相同的语法来插入variables。 例如,如果我想要以下 <%= username %> 在我的下划线中,我的主要EJS因为试图replace用户名而中断,并且主页中不存在这样的variables。

如何使用javascript或lodash从对象数组中删除不匹配的对象

我从服务器获取两个对象数组,如下所示: var duplicateTestData = [ { licenseId: 'xxx', batchId: '123', reportDate: Fri Dec 11 2015 00:00:00 GMT+0530 (India Standard Time) }, { licenseId: 'yyy', batchId: '124', reportDate: Fri Dec 11 2015 00:00:00 GMT+0530 (India Standard Time) }, { licenseId: 'aaa', batchId: '145', reportDate: Fri Dec 11 2015 00:00:00 GMT+0530 (India Standard Time) } ]; var […]

如何迭代Lodash中的数组中的对象

我正在尝试在HTML模板中使用lodash来获取Node.js中的电子邮件。 我有一个数组与几个对象。 我想遍历每个对象,并列出所有的重复值。 当我使用下面的代码时,我收到一个错误,指出该值是未定义的(例如, ReferenceError: firstName is not defined )。 HTML模板在一个单独的文件中。 任何想法,我在做什么错了? 使用Javascript: var template = fs.readFileSync('server/views/email-template.html').toString(); var htmlAll = _.template(template)(orderInfo); HTML: <% _.forEach(function(firstName) { %><%- firstName %></td><% }); %> <% _.forEach(function(lastName) { %><%- lastName %></td><% }); %> <% _.forEach(function(address) { %><%- address %></td><% });%> <% _.forEach(function(city) { %><%- city %><% }); %>, <% _.forEach(function(state.code) […]

如何在玉石模板中使用下划线

我想在玉石模板中使用下划线function,就像这样 p= _.keys(user) 不适合客户端JavaScript,用于重复。 通过我在app.js中确实需要'下划线',没有相处得很好。 当然,它在app.js中正常工作。 ReferenceError: xxxxxxx _ is not defined 这是模板错误消息。 任何想法? 谢谢

干净的方式来映射node.js或JavaScript中的数组

假设我有一个函数和一个数组。 我想通过将函数应用于数组中的每个条目来修改数组。 该函数不直接修改值; 它返回一个新的值。 在伪代码中, for (entry in array) { entry = function(entry); } 发生在我身上的一些方法可以做到这一点: for (var i = 0; i < arr.length; i++) { arr[i] = fn(i); } 或者,因为我使用的是node.js,并且内置了下划线: arr = _.map(arr, fn); 但是这两者似乎有点笨重。 标准的“for”块感觉过于冗长,而_.map函数重新分配整个数组,所以感觉效率低下。 你会怎么做? 是的,我知道我正在超越这个:)

为什么require('underscore')在node.js REPL中执行时返回undefined?

当我在我的控制台中运行节点并键入var _ = require('underscore'); , _结束未定义。 如果我把相同的代码放在一个文件中并执行它,下划线库会按照预期被包含。 $ node > var _ = require('underscore'); > console.log(_) undefined // underscore library does not load > var async = require('async'); undefined > console.log(async) // async library does { noConflict: [Function], nextTick: [Function], forEach: [Function], … > 但是,作为node test.js执行的.js文件中的相同代码显示了两个库的加载情况。 这是怎么回事?