node插件express(路由)的插件使用(二)——body-parser和ejs插件的基本使用

news/2024/7/19 10:47:53 标签: express

文章目录

  • 前言
  • 一、express使用中间件body-parser获取请全体的数据
    • 1. 代码
    • 2. 效果
  • 二、express使用ejs(了解即可)
    • 1.安装
    • 2.作用
    • 3.基本使用
      • (1)代码
      • (2)代码分析和效果
    • 4.列表渲染
      • (1)代码
      • (2)代码分析和效果
    • 5.if的条件渲染
      • (1)代码
      • (2)代码分析和效果


前言

提示:希望你了解express后进行查看后面的内容。


expressbodyparser_9">一、express使用中间件body-parser获取请全体的数据

1. 代码

// 1:导入express body-parser
const express = require('express')
const bodyParser = require('body-parser')

// 2:创建应用对象
const app = express();

// 3:解析querystring格式请全体的中间件
const urlenncodeParser = bodyParser.urlencoded({extended: false})

// 5:创建路由规则
app.get('/login', (req, res) => {
    // 6:响应html文件
    res.sendFile(__dirname + '/06_index.html')
})

// 7:post规则(点击html页面的登录触发回调函数)
app.post('/login', urlenncodeParser, (req, res) => {
    console.log(req.body); // 获取用户名和密码
    res.send('获取用户数据')
})

// 4:监听并启动服务器
app.listen(9000, () => {
    console.log('服务器启动了')
})

2. 效果

在这里插入图片描述

expressejs_43">二、express使用ejs(了解即可)

ejs 中文官网:https://ejs.bootcss.com/#install

1.安装

npm install ejs

2.作用

将html页面和js逻辑拆分开来,

3.基本使用

(1)代码

js 文件

// 1:导入express body-parser
const fs = require('fs')
const ejs = require('ejs')

const name = '张三'
const age = 18

let str = fs.readFileSync('./07_.html').toString();

/**
 * ejs.render
 * str, data, options
 * @str str 参数1,渲染的html页面
 * @data Object 参数2,传递给html页面的参数
 * @options 参数3,配置
 * 作用:输出渲染后的 HTML 字符串
 */

let renderStr = ejs.render(str, { name: name, age: age });

console.log(renderStr);

html 文件

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>ejs初体验</title>
</head>
<body>
    <h1>我是 <%= name %>, 今年<%= age %></h1>
</body>
</html>

(2)代码分析和效果

在这里插入图片描述

4.列表渲染

(1)代码

js 文件

// 1:导入express body-parser
const fs = require('fs')
const ejs = require('ejs')

const nameList = ['张三', '李四', '王五', '赵六']

let html = fs.readFileSync('./08_.html').toString();

let renderStr = ejs.render(html, { nameList: nameList });

console.log(renderStr);

html 文件

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>ejs列表渲染</title>
</head>
<body>

    <% nameList.forEach(item => { %>
    <li><%= item %></li>
    <% }) %>
</body>
</html>

(2)代码分析和效果

在这里插入图片描述

5.if的条件渲染

(1)代码

js 文件

// 1:导入express body-parser
const fs = require('fs')
const ejs = require('ejs')

const isEat = true;

let html = fs.readFileSync('./09_.html').toString();

let renderStr = ejs.render(html, { isEat: isEat });

console.log(renderStr);

html 文件

<body>
   <header>
        <% if(isEat){ %>
        <span>我吃了饭</span>
        <% }else{ %>
        <span>我还没吃饭</span>
        <% } %>
   </header>
</body>

(2)代码分析和效果

在这里插入图片描述


http://www.niftyadmin.cn/n/5152352.html

相关文章

SpringBoot-WebSocket浏览器-服务器双向通信

文章目录 WebSocket 介绍入门案例 WebSocket 介绍 WebSocket 是基于 TCP 的一种新的网络协议。它实现了浏览器与服务器全双工通信——浏览器和服务器只需要完成一次握手&#xff0c;两者之间就可以创建持久性的连接&#xff0c;并进行双向数据传输。 应用场景&#xff1a; 视…

【C++语法讲解】 | 运算符重构 | 三种运算符的重构方式 |代码演示

文章目录 1&#xff0c;简述2&#xff0c;结构体的定义1&#xff0c;结构体的声明2&#xff0c;结构体的申请 3.1 &#xff0c;在结构体中重构3.2 在结构体外进行重构 1&#xff0c;简述 通常情况下&#xff0c;我们会创建一些简单的数据结构以应对日常的算法使用&#xff0c;…

LV.12 D16 轮询与中断 学习笔记

一、CPU与硬件的交互方式 轮询 CPU执行程序时不断地询问硬件是否需要其服务&#xff0c;若需要则给予其服务&#xff0c;若不需要一段时间后再次询问&#xff0c;周而复始 中断 CPU执行程序时若硬件需要其服务&#xff0c;对应的硬件给CPU发送中断信号&#xff0c…

由于flutter_app依赖于flutter_swiper>=0.0.2,不支持零安全,版本解决失败。

参考 dart3.0使用flutter_swiper报错记录 flutter_swiper package - All Versions从官网的信息可以看到 Dart3版本不兼容 最小兼容的Dart SDK版本需要2.0 Flutter SDK 版本列表Flutter SDK 版本列表 - Flutter 中文文档 - Flutter 中文开发者网站 - Flutter 说明&#xff1a;因…

Linux - 安装Ubuntu虚拟机

1&#xff0c;安装VMware Workstation 16 Player&#xff0c;然后运行。 2&#xff0c;选择安装一个新的虚拟机和之后安装操作系统。 3&#xff0c;选择Linux Ubuntu 64-bit 4&#xff0c;填写虚拟机名字和存放的路径。 5&#xff0c;选择硬盘大小。 6&#xff0c;可以定制硬…

03 矩阵与线性变换

矩阵与线性变换 线性变换如何用数值描述线性变换特殊的线性变换反过来看总结 这是关于3Blue1Brown "线性代数的本质"的学习笔记。 线性变换 如果一个变换具有以下两个性质&#xff0c;我们就称它是线性的&#xff1a; 一是直线在变换后仍然保持为直线二是原点必须…

【多线程】Lambda表达式

package org.example;public class TestLambda {public static void main(String[] args) {Like likenew Like();like.lambda();}}//定义一个函数式接口 interface ILike{void lambda(); }//实现类 class Like implements ILike{Overridepublic void lambda() {System.out.prin…

2.1 CSS 简介特性

1.CSS 简介 CSS的全称为:层叠样式表(Cascading Style sheets )。 CSS3是CSS2的升级版本&#xff0c;它在CSS2的基础上&#xff0c;新增了很多强大的新功能&#xff0c;从而解决一些实际面临的问题。.CSS3在未来会按照模块化的方式去发展: CSS current work & how to part…