Articles of 克隆

我应该克隆node_modules内的节点库来修改它吗?

我使用诗人博客/静态网站生成引擎,这是伟大的。 它目前是我的packages.json中列出的依赖项,所以我只是npm install它,并require在我的快递应用程序。 但是,我想要改变库中的一个行为(特别是构build“post.preview”的方式,现在只是简单地获取第一行,而且我希望能够configuration多行为每个职位)。 要做到这一点,我正在考虑克隆回购和做出改变。 但是我想知道我是否应该: 直接将其克隆到我的博客/ node_modules /诗人,并像往常一样require , 将其克隆到不同的文件夹并从不同的path要求。 请记住,我想很快发布到Heroku或Nodejitsu。 你有什么想法? 更新 :我有一个git回购与我的git回购下的克隆库的一些问题。 它以某种方式将整个文件夹添加为一个文件。 我立即从lib文件夹中删除“.git”,一切都恢复正常…我不知道这种行为的原因!

带有循环引用的Javascript深克隆对象

我从Dmitriy Pichugin的现有答案中复制了下面的函数。 这个函数可以深入克隆一个没有任何循环引用的对象 – 它的工作。 function deepClone( obj ) { if( !obj || true == obj ) //this also handles boolean as true and false return obj; var objType = typeof( obj ); if( "number" == objType || "string" == objType ) // add your immutables here return obj; var result = Array.isArray( obj ) […]

在lodash _.clone不工作?

我有 config.default_req = { foo: 'foo' } this.default_req = _.clone(config.default_req); this.default_req.body.data = 'bar'; 现在config.default_req.data等于'bar',为什么呢?我以为用lodash克隆应该只是复制对象,失去了原来的链接! 任何想法如何克隆/复制node.js中的对象? (v.0.10.40) 编辑:对于那些会得到这个问题,一个简单的克隆/复制function: var clone = function(source){ return JSON.parse(JSON.stringify(source)); };

下划线的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,它的工作原理。 有关这种行为的任何想法?