使用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}`);
});
相关推荐
青花瓷19 小时前
Windows下Node.js的安装
node.js
暮雪倾风1 天前
【JS-Node】node.js环境安装及使用
开发语言·javascript·node.js
冴羽1 天前
请愿书:Node.js 核心代码不应该包含 AI 代码!
前端·javascript·node.js
太难了啊1 天前
从零构建你的 AI Agent 框架:Node.js 版 HelloAgents 实战指南
人工智能·node.js
网络点点滴2 天前
Node.js-构建模板
node.js
捉鸭子2 天前
海关总署瑞数vmp算法还原
python·网络安全·node.js·网络爬虫
早起困难大户2 天前
使用TypeScript写一个获取天气的MCP Server
人工智能·node.js
神の愛2 天前
IM(即时通讯)系统
node.js
小p2 天前
nestjs 学习 18:prisma 通关
node.js
织_网2 天前
Nest.js:Node.js后端开发的现代企业级解决方案,赋能AI全栈开发
javascript·人工智能·node.js