node express框架基本配置
初始化项目
express -e
安装依赖包
npm install
安装第三方包
npm install xxx --save-dev
dos 运行node app 项目就可以跑起来了
app.js入口文件解释
/*应用程序的启动(入口)文件*/ //加载express模块 var express = require('express'); //加载数据库 var mongoose = require('mongoose'); //加载body-parser,用来处理post提交过来的数据 var bodyParser = require('body-parser'); //加载cookie模块 var Cookies = require('cookies'); //创建app应用 var app = express();
渲染html模板
//加载模板处理模块 var swig = require('swig'); //定义当前应用所用的模板引擎 //第一个参数:模板引擎的名称,同时也是模板文件的后缀,第二个参数解析模板内容的方法 app.engine('html', swig.renderFile); //设置文件存放目录,第一个参数必须是views,第二个参数是目录 app.set('views', './views'); //注册使用的模板引擎,第一个参数必须是view engine,第二参数是app。engine第一个参数是一致的 app.set('view engine', 'html');
设置静态文件托管
//当文件访问以/public开头,那么直接返回对应__diername+'/public'下的文件 app.use('/public', express.static(__dirname + '/public'));
在开发过程中取消模板缓存
swig.setDefaults({ cache: false })
启动数据库
//--dbpath:mongdb路径,--port:端口号 mongod --dbpath=C:UsersYEZIDesktopyzblogdb --port 27018
连接数据库
var mongoose = require('mongoose'); //引用数据库模块 mongoose.connect('mongodb://localhost:27018/yzblog'); //连接数据库 var db = mongoose.connection; db.on('error', console.error.bind(console, 'connection error:')); db.once('open', function() { console.log('数据库已打开!'); })
请求对象
//访问请求对象(request object (req)),响应对象(response object (res)) // GET请求路由 app.get('/', function (req, res) { res.send('GET request to the homepage'); }); // POST请求路由 app.post('/', function (req, res) { res.send('POST request to the homepage'); }); app.all() //是一个特殊的路由方法,没有任何 HTTP 方法与其对应,它的作用是对于一个路径上的所有请求加载中间件。在下面的例子中,来自 “/secret” 的请求,不管使用 GET、POST、PUT、DELETE 或其他任何 http 模块支持的 HTTP 请求,句柄都会得到执行。 app.all('/secret', function (req, res, next) { console.log('Accessing the secret section ...'); next(); // pass control to the next handler });
相应对象
//下表中响应对象(res)的方法向客户端返回响应,终结请求响应的循环。如果在路由句柄中一个方法也不调用,来自客户端的请求会一直挂起。 res.download() //提示下载文件。 res.end() //终结响应处理流程。 res.json() //发送一个 JSON 格式的响应。 res.jsonp() //发送一个支持 JSONP 的 JSON 格式的响应。 res.redirect() //重定向请求。 res.render() //渲染视图模板。 res.send() //发送各种类型的响应。 res.sendFile //以八位字节流的形式发送文件。 res.sendStatus() //设置响应状态代码,并将其以字符串形式作为响应体的一部分发送。