nodejs教程:安装及配置app.js文件
express.js是nodejs的一个MVC开发框架,并且支持jade等多种模板。下面简单来说说express的安装和app.js文件的配置,然后在今后的教程中一步一步使用express.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。
好了,现在你可以通过express testapp
来建立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
建议继续学习:
- 为什么我们要从 NodeJS 迁移到 Ruby on Rails (阅读:5406)
- Nodejs和MongoDB初体验 (阅读:4971)
- JavaScript,只有你想不到 (阅读:4958)
- 使用socket.io和node.js搭建websocket应用 (阅读:4257)
- node.js调研与服务性能测试 (阅读:3621)
- 基于express+socket.io的nodejs聊天室 (阅读:3529)
- nodejs教程:配置nodejs.exe的windows目录结构 (阅读:3435)
- 在Express和Socket.IO中使用session (阅读:2737)
- Node.js中相同模块是否会被加载多次? (阅读:2359)
- 将你的 KISSY 程序移植到服务器端 (阅读:2040)
扫一扫订阅我的微信号:IT技术博客大学习
- 作者:断桥残雪 来源: 断桥残雪部落格
- 标签: express nodejs
- 发布时间:2011-10-14 13:59:03
- [12] 产品设计之QQ邮箱登录页与淘宝登录页
- [9] 分布式系统的事务处理
- [9] Python连接 MySQL 数据库的超时问
- [8] 浅述各平台系统交互设计的不同关注点
- [8] 逃出你的肖申克(五):看不见的牢笼(上)
- [8] 读书:谣言
- [8] 移动Web开发初学者指南
- [8] 关于不得不在python中使用代理访问网络的
- [8] 迈过社会化网络:互联网的新时代
- [7] 简单js+css实现模拟自定义select样