Express的使用方法

安装

1、首先假定你已经安装了 Node.js,接下来为你的应用创建一个目录,然后进入此目录并将其作为当前工作目录。

命令行提供的命令

  • mkdir 创建目录(make directory)
  • && 并且(可以同时执行多个命令)
  • cd 改变目录(change directory)
mkdir myapp && cd myapp

2、通过 npm init 命令为你的应用创建一个 package.json 文件。

npm init

此命令将要求你输入几个参数,例如,此应用的名称和版本。 你可以直接按“回车”键接受大部分默认设置即可。

3、接下来在 myapp 目录下安装 Express 并将其保存到项目的依赖列表中。如下:

npm install express --save

4、在myapp目录下创建app.js文件,并使用express创建一个简单的应用:

// 导入 express 函数
const express = require('express');

// 使用 express() 函数创建一个应用
const app = express();

// 配置路由,接收访问服务器根目录的 GET 请求
app.get('/', (request, response) => {

    // 响应请求
    request.send('Hello World!');
});

// 监听特定的端口
app.listen(3000, () => {
    console.log('Myapp listening on port 3000');
});

设置路由

/news --> callback1 --> callback2 --> callback3

app.get('/news', (request, response, next) => {
  console.log('callback1')
  next();
},
(request, response, next) => {
  console.log('callback2')
  next();
},
(request, response, next) => {
  console.log('callback3')
  response.send('end');
});

使用中间件

中间件会拦截所有以特定路径开头的请求,做出相应处理后,调用next()方法放行。最后才开始一个接一个地匹配后面设置的路由。

'/student/add'
// 拦截所有以 '/' 开头的请求
app.use('/', (request, response, next) => {
  console.log('/')
  next();
});

// 拦截所有以 '/student' 开头的请求
app.use('/student', (request, response, next) => {
  console.log('/student')
  next();
});

// 接收来自于 '/student/add' 的请求
app.post('/student/add', (request, response) => {
  console.log('/student/add')
response.send('/news')
});

当我们向’/student/add’发送POST请求时,请求先会被 ‘/’ 拦截到,调用next()放行,然后被 ‘/student’ 拦截到,再次调用next() 方法放行,最后被接收POST请求的 ‘/student/add’ 路由匹配到,由它为浏览器响应数据。

使用模板引擎

1、安装 ejs 模板解析引擎

npm install ejs --save

2、新建views目录,并告诉 Express EJS模板的位置

// 告诉 Express 模版在 views 目录下
app.set('views', path.join(__dirname, 'views'));

3、将 EJS 配置成 Express 模板引擎

// 配置 EJS 模板引擎
app.set('view engine', 'ejs');

4、配置路由,当路由被匹配时,渲染响应的模板

// 配置路由
app.get('/', function(request, response){
    response.render('index', {greeting: 'Hello World!'});
});

app.get('/about', function(request, response){
    response.render('about', {message: 'About Page'});
});

托管静态资源

新建public目录,然后将静态资源放入其中,让Express帮我们托管public中的资源

// 让 Express 帮我们托管静态资源
app.use(express.static(path.join(__dirname, 'public')));

然后我们就可以在模板文件中使用这些静态资源

 <%# 使用 public 目录下的样式文件 %>
 <link rel="stylesheet" href="/css/index.css">

 <%# 使用 public 目录下的图片文件 %>
<img src="/images/fuwoqilai.jpeg" alt="扶我起来">

拆分路由

在项目根目录下,新建routes目录,然在目录下新建student.js文件,其内容如下:

const express = require('express');
// 创建 router 对象
const router = express.Router();

// 配置路由
router.get('/', (request, response) => {
  response.render('student/index', {title: '学生界面'})
});
router.get('/add', (request, response) => {
  response.render('student/add', {title: '添加学生界面'})
});
router.post('/add/submit', (request, response) => {
  // 其他代码...
});
router.get('/edit', (request, response) => {
  // 其他代码...
});
router.post('/edit/submit', (request, response) => {
  // 其他代码...
});

// 导出路由对象
exports = module.exports = router;
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值