Node基础之express框架

简单语法

var express = require('express');
var app = express();
app.get('/', function (req, res) {
	res.send('hello express');
});
app.listen(3000, function () {
	console.log('app is running at port 3000');
});

‘/’ 的省略与否问题

// 文件操作中的相对路径可以省略 './'
var fs = require('fs');
fs.readFile('book.txt', function (err, data) {});

// 文件操作中的
fs.readFile('/book.txt', function (err, data) {});
// 模块加载中,相对路径中的 './' 不能省略
require('./test1.js');

修改完代码自动重启

使用一个第三方命令行工具,nodemon。

这是一个基于 node 开发的工具,安装:

npm install --global nodemon

安装完毕之后,使用:

node app.js

# 使用 nodemon
nodemon app.js

只要是通过如上方式启动的服务,它就会监视文件变化,当文件发生变化的时候,自动重启服务器。

express 中的 static-server 静态资源服务

// 当以'/public/'开头的时候,去'./public/'目录中找对应的资源
app.use('/public/', express.static('./public/'));

// 当省略第一个参数的时候,则可以通过省略'/public'的方式找对应资源
app.use(express.static('./public/'));

// 必须是'/a/public'找'./public'中的资源
app.use('/a/', express.static('./public'));

基本路由

请求方法 + 请求路径 + 处理函数

// 当以 GET 方法请求 / 的时候,执行对应的处理函数
app.get('/', function (req, res) {});
// 当以 POST 方法请求 / 的时候,执行对应的处理函数
app.post('/', function (req, res) {});

在 express 中配置使用 art-template 模板引擎

# 安装
npm install art-template --save
npm install express-art-template --save
// 配置使用 art-template
// 第一个参数,表示渲染以 .art 结尾的文件的时候,使用 art-template 模板引擎
// express-art-template 是专门用来在 express 中把 art-template 整合到 express 中
// 虽然外面这里不需要加载 art-template,但是也必须安装
app.engine('art', require('express-art-template'));

// express 为 response 响应对象提供了一个方法:render
// render 方法默认是不可以用的,但是如果配置了模板引擎就可以使用了
// 第一个参数不能写路径,默认会去项目中的 views 目录中查找该模板文件
// 也就是说 express 有一个约定:开发人员把所有的试图文件都放到 views 目录中
res.render('html模板名', {模板数据});

// 如果希望修改默认的 views 视图渲染储存目录,可以这样
app.set('views', 目录路径);

在 express 中获取表单 post 请求体数据

在 express 中没有内置获取表单 POST 请求体的 API,这里我们需要使用一个第三方包:body-parser

# 安装
npm install --save body-parser
// 引包
var bodyParser = require('body-parser');

// 只要加入这个配置,则在 req 请求对象上会多出来一个属性:body
// 那就可以直接通过 req.body 来获取表单 post 请求体数据了
app.use(bodyParser.urlencoded({ extended: false }));
app.use(bodyParser.json());

req.body 

在 express 中获取表单 GET 请求参数

// express 内置了一个 API,可以直接通过 req.query 来获取
req.query

在 express 中使用 session

express 中默认不支持 session 和 cookie。但是我们可以使用第三方中间件:express-session。

# 下载
npm install express-session

# 配置
var session = require('express-session');
app.use(session({
	secret: 'keyboard cat',
	resave: false,
	saveUninitialized: true
}));

# 使用
req.session.foo = 'bar' # 添加 session 数据
req.session.foo # 访问 session 数据

默认 session 数据是内存存储,服务器一旦重启,数据就会丢失,真正的生产环境会把 session 进行持久化存储。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值