随笔分类 -  nodejs

记录nodejs的点点滴滴
摘要:本文档是基于express 3.4.6 的在我们的代码中,渲染模板大致是这样写的exports.index = function(req, res){ res.render('index', { title: 'Express' });};这个req,res 函数其实是经过了中间件middleware.js 处理后的,我们在前面提到过。req,res的原型分别为app.request 和app.response req.__proto__ = app.request; res.__proto__ = app.response;而app.request 和app. 阅读全文
posted @ 2013-12-19 15:55 yupeng 阅读(8424) 评论(0) 推荐(2) 编辑
摘要:本文档是基于express3.4.6express 的路由是自己去实现的,没有使用connect中的路由中间件模块。1、在如何创建一个app那篇中,我们提到了路由, //router //路由 this._router = new Router(this); this.routes = this._router.map; this.__defineGetter__('router', function(){ this._usedRouter = true; this._router.caseSensitive = this.enabled('case sensitive 阅读全文
posted @ 2013-12-19 15:18 yupeng 阅读(7842) 评论(0) 推荐(3) 编辑
摘要:本文档是基于express 3.4.6 的在上篇中我们提到了中间件,这篇主要解释这个模块,middleware.js 为:var utils = require('./utils');/** * Initialization middleware, exposing the * request and response to eachother, as well * as defaulting the X-Powered-By header field. * * @param {Function} app * @return {Function} * @api private 阅读全文
posted @ 2013-12-19 10:51 yupeng 阅读(3359) 评论(0) 推荐(1) 编辑
摘要:本文是基于express 3.4.6 的1.在我们的app.js 文件里面有这么几行 http.createServer(app).listen(app.get('port'), function(){ console.log('Express server listening on port ' + app.get('port'));});这个其实是调用http模块 的 createServer 函数创建一个服务,然后监听端口的。2. 我们再去看看express 的入口文件 /** * Module dependencies. */var co 阅读全文
posted @ 2013-12-19 10:42 yupeng 阅读(5232) 评论(0) 推荐(1) 编辑
摘要:本文是基于express3.4.6的。1.express 代码结构为: bin/express 是在命令行下的生成express 框架目录文件用的lib/express 是框架的入口文件lib/router 是路由模块,主要是进行路由分发,比对,执行callbacklib/middleware 是中间件模块,主要是对response,request进行改写lib/request 是请求lib/response 是响应lib/utils 是工具集函数,是对connect模块的一个补充,比如地址处理正则lib/view 是处理视图2.express 框架调用关系图: 阅读全文
posted @ 2013-12-19 09:33 yupeng 阅读(5053) 评论(2) 推荐(1) 编辑
摘要:1.Object.create() 是什么? Object.create(proto [, propertiesObject ]) 是E5中提出的一种新的对象创建方式,第一个参数是要继承的原型,如果不是一个子函数,可以传一个null,第二个参数是对象的属性描述符,这个参数是可选的。 例如: function Car (desc) { this.desc = desc; this.color = "red";} Car.prototype = { getInfo: function() { return 'A ' + this.color + ' &# 阅读全文
posted @ 2013-12-17 11:12 yupeng 阅读(47739) 评论(2) 推荐(2) 编辑
摘要:之前有过一个谈了很多关于PayPal移动到node.js的一个应用平台。作为设置我的免费用户界面的第1部分的延续,我很高兴地说,这些传言是真的,我们的Web应用程序正在从Java迁移到JavaScript和node.js中。从历史上看,我们工程团队的代码已经被分割成浏览器层(使用HTML , CSS和JavaScript )和应用层(使用Java ) 。试想一下,一个HTML的开发人员要求一个Java开发人员将“A”和“B”页面连接在一起,但是这就是我们。该模型通过引入全栈工程师,落后那些能够创造一个好的用户界面,然后生成应用程序去支持它。称他们为独角兽,但是这就是我们想要的,在PayPal中 阅读全文
posted @ 2013-12-15 10:52 yupeng 阅读(2999) 评论(3) 推荐(1) 编辑
摘要:本帖子是记录一些javascript的一些文章:1. 理解node.js2.异步编程http://www.ruanyifeng.com/blog/2012/12/asynchronous%EF%BC%BFjavascript.html 阅读全文
posted @ 2013-12-14 22:18 yupeng 阅读(586) 评论(0) 推荐(0) 编辑
摘要:本文是在mac下配置nodejs 在nginx下的反向代理1.安装nodejs,之前就安装了。2.安装nginx ,我采用的直接源码安装3.进入/usr/local/nginx/conf 目录,在该目录下创建include 文件下,我的配置文件就写在这个文件夹里面4.进入/usr/local/nginx/conf/include 目录,创建nginx.node.conf 文件,在里面输入如下代码:upstream nodejs { server 127.0.0.1:3000; #server 127.0.0.1:3001; keepalive 64;}server { ... 阅读全文
posted @ 2013-12-13 11:36 yupeng 阅读(28426) 评论(1) 推荐(0) 编辑
摘要:在网上看到一些帖子,吐糟,质疑nodejs 程序的稳定性,为什么呢?其一,可能这个和javascript有关吧,node是拿javascript去实现的,而javascript又被称为是“世界上误解最深的语言”,我们可以去看看nodejs 创始人的说法,可以去看看知乎的这篇文章,为什么node 用javascript去实现,其二,nodejs 毕竟还年轻,而且官网在部分模块也标注了此模块的目前的状态。 这2天我抽了点时间思考了下这个问题,我觉得我们程序首先功能应该是独立的,就是一个功能出异常了,不应该去影响另外一个正常的功能,不应该将整个程序都崩溃掉,其次,即使是程序崩溃了,我们也应该有... 阅读全文
posted @ 2013-12-13 11:18 yupeng 阅读(11685) 评论(0) 推荐(4) 编辑
摘要:昨天研究了下如何用C++和node交互,在node的程序中,如果有大数据量的计算,处理起来比较慢,可以用C++来处理,然后通过回调(callback的形式),返回给node。首先,先来看看node 是如何和C++交互吧。前提:需要安装nodejs 环境,安装node-gyp 包。采用npm 方式安装,这个太方便了,修改本文件夹下面的package.json 依赖选项,然后执行npm install 就可以了。1.以hello world 为例来说明:1)建立一个文件夹hello,在这个文件夹里依次添加3个文件,hello.cc, binding.gyp,test.js (其中hello.c.. 阅读全文
posted @ 2013-12-11 15:12 yupeng 阅读(26849) 评论(5) 推荐(6) 编辑