Tag: 可重用性

使用angular模块和节点模板以获得更好的重用能力

一般来说,我是networking编程和编程的新手。 所以,请原谅,如果这是一个新手问题或重复一个或我的知识是错误的。 我知道的 1.Angular不友善。 不要误解我的意思,我知道有几种方法可以使它变得友好(提供静态的预渲染页面等) 编码有很多优点 3.模块代码可以使用偏angular来书写,也可以使用模板,如玉,sw等 案件 让我们看看网页有5个部分(header,jambotron,text,some-form,footer)。 现在如果我们想要一个可重复使用的模块化代码,我们可以使用ng-include或ui-view来写入angular度偏差。 但它不友善 我们如何做到这一点如下: 1.使用模板来生成html页面(我使用swig)。 2.为代码的每个部分(header,jambotron,text,some-form,footer)分别写模块。 3.使用dependency injection将这些模块注入到页面的控制器中。 4.使用angular度函数和控制器中的所有东西。 5.一个页面女巫是SEO友好,模块化,可重复使用。 题 1.是否有人使用这种方法? 如果没有,你呢? 如果是的话,除了我提到的其他原因? 3.其他更好的方法,为什么? 4.如果我继续这一点,我应该如何共享注入到不同模块之间的页面数据? 任何指南? 来源?

如何实现可重用的callback函数

我相当新的JavaScript,我在节点工作,需要很好的理解asynchronous编程和callbackdevise。 我发现使用embedded式函数很容易,即使你的callback是多层次的。 您的embedded式callback只是最终被closures。 但是,如果在执行路由中有许多callback类似的callback,则最终会在不同的callback链中反复重写大量的callback代码。 例如,如果下面的mycb1和mycb2定义被移到A之外,那么它们不再具有对A的variables的隐式访问,因此不再作为闭包。 带有embedded式定义的示例,它们用作闭包。 mod.A=function(){ var mycb1=function(err){ if (!err){ var mycb2=function(err){ cb(err); }; mod.foo2(args,mycb2); } else{cb(err);} }; mod.foo1(args,mycb1); } mod.foo1 = function(args,cb){ //do some work cb(err); }; mod.foo2 = function(args,cb){ //do some work cb(err); } //execute mod.A(); 我想要做下面的事情,但是能够改变mycb1和mycb2函数的variables作用域,以便它们可以被用作closures被调用的地方。 例如: var mycb2=function(err){ … cb(err); }; var mycb1=function(err){ if (!err){ mod.foo2(args,mycb2); //but have it act […]

Node.js和MongoDB,重用DB对象

我对Node.js和MongoDB都是新手,但是我已经设法将SO和mongo的文档放在一起。 Mongo文档给出了例子: // Retrieve var MongoClient = require('mongodb').MongoClient; // Connect to the db MongoClient.connect("mongodb://localhost:27017/exampleDb", function(err, db) { if(!err) { console.log("We are connected"); } }); 这看起来很好,如果我只需要在一个地方使用一个function的数据库。 在SO上search和阅读已经表明,我不应该每次都打开一个新的连接,而是使用一个池并重用我第一次获得的数据库对象。 这个答案很丰富,但我不知道如何获得DB对象,然后如何重用它。 假设我的App.js中有上面的Node.js代码,然后我有不同的路由需要在db上运行不同的操作: app.post('/employee', function(req, res){ //Put req.name in database }); app.post('/car', function(req, res){ //Put req.car in database }); 我将如何将这两个片段放在一起有用? 我在Node.js中发现了一个类似的问题, 重用了MongoDB引用 ,但是从这个( http://mongodb.github.io/node-mongodb-native/driver-articles/mongoclient.html )的外观来看,它看起来像我应该使用MongoClient而不是db()。 而且我不确定它是否解决了我的问题