使用Express+Node.js搭建网站

Express是一个基于Node.js平台的快速、开放、极简的Web开发框架。它的作用是专门用来创建Web服务器,与Node.js内置的http模块功能相似,但更为简便和高效。

Express中文官网:Express - 基于 Node.js 平台的 web 应用开发框架 - Express中文文档 | Express中文网

Express 4.x API 参考文档:

Express 4.x - API Reference - Express中文文档 | Express中文网

在安装Express前,先在项目所在文件夹初始化项目:

bash 复制代码
node init -y

下载Express框架:

bash 复制代码
npm install express --save

编写index.js文件(也可以叫其他名字,但需要再package.json文件中进行更改),构建HTTP服务器,使用:8080端口(也可以使用其他端口):

javascript 复制代码
const express = require('express');
const app = express();

app.get('/', (req, res) => {
  res.send('Hello World!');
});

app.listen(8080, () => {
  console.log('Example app listening on port 8080!');
});

在终端输入命令进行测试:

javascript 复制代码
node src/index.js

运行成功后在浏览器打开: http://localhost:8080

项目结构:

修改package.json文件,使用Nodemon(Nodemon会监视指定的文件夹或文件,一旦检测到文件发生更改,它就会自动重启应用程序)监听index.js文件:

javascript 复制代码
"scripts": {
    "dev": "nodemon index.js"
}

下载Nodemon:

bash 复制代码
npm install nodemon

完整版package.json:

javascript 复制代码
{
  "name": "exapp",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
    "dev": "nodemon index.js"
  },
  "keywords": [],
  "author": "",
  "license": "ISC",
  "dependencies": {
    "express": "^4.19.2"
  }
}

使用npm run dev方式可以在修改index.js文件后可刷新页面:

bash 复制代码
npm run dev

随后在index.js中定义一个常量port,其功能是从环境变量中获取端口号,如果该环境变量未设置或为空,则默认使用8080作为端口号。这种做法允许开发者在部署应用程序时灵活地指定端口,而在本地开发或测试时可以使用默认的8080端口。

javascript 复制代码
const port =  process.env.PORT || 8080;

修改完的index.js:

javascript 复制代码
const express = require('express');
const app = express();
const port =  process.env.PORT || 8080;

app.get('/', (req, res) => {
  res.send('Hello World!!!!!');
});

app.listen(port, () => {
  console.log(`Example app listening on port http://localhost:${port}`);
});
相关推荐
今日无bug34 分钟前
从「拿来主义」到「亲手造轮子」:2 种 MCP 文件服务器写法对比
前端·node.js·mcp
八角丶39 分钟前
Node.js 异步上下文详解(实验驱动)
前端·node.js
X-future4261 小时前
Node.js快速入门+demo案例
node.js
八角丶1 小时前
Node.js 事件循环详解(实验驱动)
前端·node.js
云浪2 小时前
给大模型装上"手":三分钟看懂 AI Agent 的 Tool 工具调用
javascript·人工智能·node.js
倾颜15 小时前
NestJS 核心概念梳理:从 Module、Controller 到 Guard、Interceptor
后端·node.js·nestjs
苦夏木禾1 天前
tree-fs 批量创建文件
node.js
__zRainy__1 天前
Node系列 · 数据库:单表查询
数据库·后端·mysql·node.js
薛定谔的算法1 天前
NestJS:让 Node.js 后端告别「野路子」
后端·node.js·nestjs
zzx2006__1 天前
node.js
node.js