Express 是 Node.js 的一个轻量级web框架,目前使用EJS模板引擎,该笔记持续更新
supervisor
使用supervisor监听文件改变然后自动重启node服务器,这样子就不用每改一次代码run一遍服务器了
sudo npm install -g supervisor
WebStrom配置supervisor
文件目录结构
1 | ├── app.js 项目入口及程序启动文件。 |
项目依赖配置 package.json
package.json
里面有项目依赖配置及开发者信息。
在dependencies后面写上依赖的包名和版本号,然后在项目根目录执行npm install就可以像cocopods一样一次性安装包依赖
路由 Routes
路由用来处理URL的访问
index.js
1 | var express = require('express'); 获取express对象 |
router有get(),post(),put(),delete()对象,代表接受的请求方式,对应查,增,改,删
1 | router.get('/getSomething',function(req,res,next) {}); |
方法中第一个参数意味着请求路径,例如第一个的请求路径是http://localhost:3000/getSomething
,第二个参数是获取请求内容和准备返回的响应体.
Request获取请求参数
例如请求发送了id参数,则var id = req.params.id;
可以取得
Response返回响应体
send()
方法向浏览器发送一个响应信息
例如想返回一个json,则res.send({test:id = ${id},name = ${name}});
当参数为一个Number时,并且没有上面提到的任何一条在响应体里,Express会帮你设置一个响应 体,比如:200会返回字符”OK”。
res.send(200); // OK
res.send(404); // Not Found
res.send(500); // Internal Server Error
Response重定向
res.redirect("http://www.hubwiz.com");
Response渲染页面
如果想渲染hello.ejs
页面,res.render('hello',{title:"MySQL",test_params:'aaa'});
hello.ejs
页面通过<%= title %>
的方式取得title等参数
Request获取主机名,路径名
req.host
获取主机名,req.path
获取请求路径名
restful 方式路由
1 | router.post('/restful/:id/name/:name', function (req,res) { |
数据库
MySQL
安装MySQL
$ npm install mysql
引入MySQL并配置
1 | var mysql = require('mysql'); |
连接数据库
1 | connection.connect() |
这个方法可以接受一个回调用来判断是否连接成功
1 | connection.connect(function(err) { |
查询
1 | connection.query('SELECT 1 + 1 AS solution', function(err, rows, fields) { |
同上,接受一个回调来判断是否成功关闭连接
connection.end(err => console.log(
连接中断${err}`));’
MongoDB
安装
npm install -g mongoose
配置
1 | var mongoose = require('mongoose'); |
连接
1 | var dbURL = "mongodb://" + options.db_user + ":" + options.db_pwd + "@" + options.db_host + ":" + options.db_port + "/" + options.db_name; |
其他方法以后遇到再补充.