nodejs教程 安装express及配置app.js文件的详细步骤
安装express.js 如果你安装了npm,安装变得很简单,只需要在终端中运行下面的代码即可: 复制代码 代码如下: npm install express -gd -g代表安装到NODE_PATH的lib里面,而-d代表把相依性套件也一起安装。如果]有-g的话会安装目前所在的目录(会建立一个node_modules的文件夹),你可以透过以下指令来比较两者的不同: 复制代码 代码如下: npm list -g npm list 如果没有npm,那么我可以使用github来git下来最新的express。 复制代码 代码如下: cd ~ express testapp cd testapp node app.js 这样就建立了一个testapp的nodejs应用,而app.js是默认的应用主js。下面来详细的说说app.js中的各项配置。 引入模块 复制代码 代码如下: var express = require('express'); var app = module.exports = express.createServer(); require()是node.js提供的函数,可以让你引入其他模块以调用模块的函数和变量,默认下node.js会在$NODE_PATH和目前js所在目录下的node_modules文件夹下去寻找模块。require也可以用来载入自己写的模块哦~这样涉及到node.js的模块机制,后面有机会就在介绍。 第二行的express.createServer()就是在建立server,而中间的module.exports也是涉及到node.js的模块机制,以后再说。 express的app.js的详细配置说明 express.js继承自connect模块,所以如果你的node_modules文件夹下没有connect模块也是不行的。 设置views路径和模板 复制代码 代码如下: app.set('views',__dirname + '/views'); app.set('view engine','jade'); 上面两行是设置views文件夹,即模板文件夹,__dirname是node.js里面的全局变量,即取得执行的js所在的路径,另外__filename是目前执行的js文件名。所以,app.set(‘views',__dirname + ‘/views');是设置views的文件夹。 而app.set('view engine','jade');是设置express.js所使用的render engine。除了Jade之外,express.js还支持EJS(embedded javascript)、Haml、CoffeScript和jQuery template等js模板。 app.use配置 复制代码 代码如下: app.use(express.bodyParser()); app.use(express.methodOverride()); app.use(app.router); app.use(express.static(__dirname + '/public')); express.bodyParser()是Connect冉ǖmiddleware,设置此处可以将client提交过来的post请求放入request.body中。 app.configure设置 复制代码 代码如下: app.configure('development',function(){ app.use(express.errorHandler({ dumpExceptions: true,showStack: true })); }); app.configure('production',function(){ app.use(express.errorHandler()); }); express.errorHandler()是Connect冉ǖmiddleware来f助砝狻_@e也揭露了app.configure()的令一个用法,第一个凳node.js的h境O定,如此我就可以O定在不同的绦协h境使用不同程度的dump。PS:node.js是透^NODE_ENV@个h境道慈〉铆h境O定,e.g.:在命令列,NODE_ENV=production node app.js就可以M入productionh境。 路由和request的处理 ok,下面是nodejs处理request的内容: 复制代码 代码如下: app.get('/',function(req,res){ res.render('index',{ title: 'Express' }); }); 上面的代码意思是,get请求根目录则调用views文件夹中的index模板,并且传入参数title为“Express”,这个title就可以在模板文件中直接使用。 在express中要处理post请求,需要使用app.post()。如下面的代码: 复制代码 代码如下: app.post('/add',res){ res.render('add',{ sum: req.body.a + req.body.b }); }); 前面我们提到了req.body是express.bodyParser()把POST参数处理后的结果。 另外除了get和post方法,还有app.all()意思就是所有的请求处理。 添加listen,启动nodejs服务器 复制代码 代码如下: app.listen(3000); console.log( "Express server listening on port %d in %s mode", app.address().port, app.settings.env); 到目前为止,我们就基本全明白了express配置了,也就不会像以前那样跟别人都写个hello world却不知道各行代码的含义了。 转自 JS8.IN ™ (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |