node.js Web应用框架Express入门指南

yizhihongxing

Node.js Web应用框架Express入门指南

Express是基于Node.js开发的Web应用框架,它提供了一组API来帮助开发者快速地创建Web应用程序。本指南将介绍如何入门使用Express,包括安装、配置、路由、模板引擎等方面的内容。

安装Express

首先需要安装Node.js和npm。安装完成后,可打开终端窗口,输入以下命令安装Express:

npm install express

配置Express应用

创建一个新的Express应用,可以在终端输入以下命令:

express myapp
cd myapp
npm install

这将创建一个名为myapp的Express应用程序。接下来,可以使用以下命令启动应用程序:

npm start

这将在默认端口3000上启动应用程序。在浏览器中打开http://localhost:3000,即可访问应用程序的主页。

路由

路由是处理HTTP请求的机制。Express提供了一组API来定义路由。例如,以下代码将处理根路径的请求,并返回Hello World:

const express = require('express')
const app = express()

app.get('/', function(req, res) {
  res.send('Hello World')
})

app.listen(3000)

在浏览器中访问http://localhost:3000,即可查看响应内容。

除了处理GET请求,还可以处理其他HTTP方法的请求,如POST、PUT、DELETE等。以下代码将处理POST请求:

app.post('/', function(req, res) {
  res.send('Hello World')
})

模板引擎

模板引擎是将动态数据呈现到Web页面上的机制。Express支持多种模板引擎,如EJS、Jade等。以下代码使用EJS模板引擎将动态数据呈现到页面上:

先安装ejs

npm install ejs
const express = require('express')
const app = express()

app.set('view engine', 'ejs')

app.get('/', function(req, res) {
  res.render('index', {name: 'Express'})
})

app.listen(3000)

在views文件夹下新建一个index.ejs文件,其中可以使用<%= %>语法来插入动态数据。

<!DOCTYPE html>
<html>
  <head>
    <title>Express</title>
  </head>
  <body>
    <h1>Hello <%= name %>!</h1>
  </body>
</html>

在浏览器中访问http://localhost:3000,即可看到响应内容为Hello Express。

示例1

以下代码实现了一个简单的Express应用,它处理了根路径和/about路径的请求,并返回不同的响应内容。

const express = require('express')
const app = express()

app.set('view engine', 'ejs')

app.get('/', function(req, res) {
  res.send('Welcome to my homepage!')
})

app.get('/about', function(req, res) {
  let people = ['Alice', 'Bob', 'Charlie']
  res.render('about', {people: people})
})

app.listen(3000)

在views文件夹下新建一个about.ejs文件,其中可以使用<%= %>语法来插入动态数据。

<!DOCTYPE html>
<html>
  <head>
    <title>About</title>
  </head>
  <body>
    <h1>About</h1>
    <ul>
      <% people.forEach(function(person) { %>
        <li><%= person %></li>
      <% }) %>
    </ul>
  </body>
</html>

在浏览器中访问http://localhost:3000,即可看到不同的响应内容。

示例2

以下代码实现了一个简单的Express应用,它处理了根路径的请求,并返回一个表单。当表单被提交后,将显示提交的数据。

const express = require('express')
const app = express()

app.set('view engine', 'ejs')
app.use(express.urlencoded({extended: false}))

app.get('/', function(req, res) {
  res.render('form')
})

app.post('/', function(req, res) {
  let name = req.body.name
  let email = req.body.email
  res.send(`Name: ${name}, Email: ${email}`)
})

app.listen(3000)

在views文件夹下新建一个form.ejs文件,其中包含了表单内容和提交按钮。

<!DOCTYPE html>
<html>
  <head>
    <title>Form</title>
  </head>
  <body>
    <h1>Form</h1>
    <form action="/" method="POST">
      <div>
        <label>Name:</label>
        <input type="text" name="name" />
      </div>
      <div>
        <label>Email:</label>
        <input type="email" name="email" />
      </div>
      <div>
        <button type="submit">Submit</button>
      </div>
    </form>
  </body>
</html>

在浏览器中访问http://localhost:3000,即可看到表单。填写表单后,点击Submit按钮,即可看到提交的数据。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:node.js Web应用框架Express入门指南 - Python技术站

(0)
上一篇 2023年5月27日
下一篇 2023年5月27日

相关文章

  • 微信小程序开发之改变data中数组或对象的某一属性值

    下面是详细讲解微信小程序开发中改变 data 中数组或对象的某一属性值的完整攻略。 前置知识 在深入讲解如何改变 data 中数组或对象的某一属性值之前,我们需要先了解微信小程序中 data 的用法。在微信小程序中,通过给 Page() 函数传入一个对象,该对象中的 data 属性就是页面的初始数据。 定义 data 对象后,开发者可以通过 this.dat…

    JavaScript 2023年6月10日
    00
  • JavaScript中的property和attribute介绍

    JavaScript中的Property和Attribute介绍 在使用 JavaScript 编程时,会经常使用属性(Property)和属性值(Attribute)。这两者的区别经常会让初学者感到混淆。本文将解释 Property 和 Attribute 的区别,并提供一些示例,让读者更好地理解这个概念。 什么是Property和Attribute 在 …

    JavaScript 2023年6月10日
    00
  • JavaScript模板字符串用法实例

    JavaScript模板字符串用法实例 JavaScript模板字符串是一种能够很好地简化字符串拼接的技术,它支持在字符串中嵌入表达式和变量,并可以轻松地将多行代码合并为单个字符串。本文将介绍JavaScript模板字符串的用法,并提供一些示例说明。 创建模板字符串 在JavaScript中,创建模板字符串的方法是使用反引号 (\)将字符串括起来。下面是一个…

    JavaScript 2023年5月28日
    00
  • 简单实现js页面切换功能

    当我们需要在网站页面中实现切换效果,通常需要用到 JavaScript 来实现。下面是实现 js 页面切换功能的完整攻略: 第一步:添加 HTML 结构 首先,在需要实现页面切换的 HTML 页面中,需要添加跳转链接以及对应的容器标签。例如,我们想要实现跳转到“首页”和“关于我们”两个页面,则可以添加如下代码: <!DOCTYPE html> &…

    JavaScript 2023年6月11日
    00
  • 详解Go-JWT-RESTful身份认证教程

    详解Go-JWT-RESTful身份认证教程 介绍 本文将详细介绍如何使用Go语言实现一套基于JWT(JSON Web Token)的RESTful身份认证系统。RESTful是一种基于HTTP协议、符合REST原则的接口设计风格,使用JWT进行身份认证和授权可以轻松实现API的状态无关性和安全性。 实现步骤 生成JWT Token 生成JWT Token是…

    JavaScript 2023年6月11日
    00
  • javascript中判断一个值是否在数组中并没有直接使用

    要判断一个值是否在 JavaScript 数组中,一般可以使用 indexOf() 方法或 includes() 方法。 但是,有时候我们需要判断一个值是否在数组中,但又不想使用这两个方法。这时,我们可以使用其它方式来实现。 一种常见的方式是使用 for 循环,遍历整个数组,比较每个元素是否等于目标值。如果找到目标值,返回 true,否则返回 false。 …

    JavaScript 2023年5月27日
    00
  • Javascript中的prototype与继承

    JavaScript的原型(prototype)是一种机制,它允许对象继承另一个对象的属性和方法。在这种机制下,对象可以通过其原型链访问到其他对象的属性和方法。在本篇文章中,我们将探讨 JavaScript 中的 prototype 和继承。 原型(prototype) 每个Javascript对象(除了null和undefined)都有一个内部的属性[[P…

    JavaScript 2023年6月10日
    00
  • Jsoup解析HTML实例及文档方法详解

    Jsoup是什么? Jsoup是一个Java的HTML解析器,可用于从网页中提取和处理数据。 Jsoup常用的文档方法 ① connect方法:建立到指定URL的连接,并返回一个Connection对象 例如: Connection connection = Jsoup.connect("https://www.example.com")…

    JavaScript 2023年6月11日
    00
合作推广
合作推广
分享本页
返回顶部