讲师中心 微信公众号
AI工具推荐 视频效率加速

如何在VSCode中基于Node环境搭建本地MockServer服务

星晨小哥_2284

星晨小哥_2284

发布时间:2026-07-26 10:22:00

|

798人浏览过

|

来源于php中文网

原创

Express 只需一个 server.js 文件即可启动,但必须正确配置中间件(如 express.json)、处理跨域(动态设置 Access-Control-Allow-Origin)、使用 nodemon 热重载,并在路由中调用 Mock.js 动态生成数据。

如何在vscode中基于node环境搭建本地mockserver服务

直接用 Express 写个 server.js 就能跑起来

不需要框架、不用 CLI 工具,一个 server.js 文件 + express 就够了。很多教程硬推 express-generator 或 json-server,反而掩盖了最轻量的路径。

常见错误现象:启动后访问 http://localhost:3000/api/user 返回 404,但代码里明明写了 app.get('/api/user', ...) —— 很可能是没加 app.use(express.json()) 和 app.use(express.urlencoded({ extended: true })),导致 POST/PUT 请求体解析失败,连带 GET 路由注册也可能被中间件顺序干扰。

  • 初始化项目:npm init -y,然后 npm install express
  • 新建 server.js,内容至少包含:
    const express = require('express');
    const app = express();
    app.use(express.json());
    app.use(express.urlencoded({ extended: true }));
    app.get('/api/user', (req, res) => res.json({ id: 1, name: 'mock-user' }));
    app.listen(3000, () => console.log('MockServer running on http://localhost:3000'));
    
  • VSCode 终端执行 node server.js 即可,不用装额外插件或配置 launch.json

跨域问题必须手动处理,不能写 Access-Control-Allow-Origin: *

浏览器报错 The value of the ‘Access-Control-Allow-Origin’ header in the response must not be the wildcard ‘*’ when the request’s credentials mode is ‘include’ 是高频坑。你前端用了 fetch(..., { credentials: 'include' }) 或 axios 默认带 cookie,服务端却返回 *,浏览器直接拦截。

正确做法是动态读取请求头的 Origin 并回传,同时显式开启 credentials:

  • 加中间件(放在所有路由前):
    app.use((req, res, next) => {
      const origin = req.headers.origin;
      if (origin) {
        res.header('Access-Control-Allow-Origin', origin);
        res.header('Access-Control-Allow-Credentials', 'true');
      }
      res.header('Access-Control-Allow-Headers', 'Content-Type, Authorization');
      if (req.method === 'OPTIONS') {
        res.sendStatus(200);
      } else {
        next();
      }
    });
    
  • 不要用第三方 cors 包——它默认开 *,除非你显式传入 { origin: true, credentials: true }

改代码后不想手动重启?nodemon 是唯一靠谱方案

VSCode 自带终端支持 Ctrl+C 停止进程,但每次改完 server.js 都要重敲 node server.js 属实低效。有人试过文件监视插件或 Live Server,但它们只监听静态资源,对 Node 后端无效。

jinn-node
jinn-node

在Jinn网络为自主项目工作赚取代币奖励,让闲置的OpenClaw代理开始工作。

下载

必须用 nodemon,且注意安装方式:

  • 全局装(推荐):npm install -g nodemon,之后直接 nodemon server.js
  • 局部装也行,但得写 script:"scripts": { "mock": "nodemon server.js" },然后 npm run mock
  • 别信“VSCode 自带热重载”——Node.js 没这功能,所有所谓“自动刷新”本质都是 nodemon 或类似进程管理器在背后干活

接口数据用 Mock.js 生成,别手写 JSON

手写固定返回值很快会卡住:分页列表要造 20 条、用户头像要随机 URL、时间字段要格式化……这时候 Mock.js 的模板语法就省事得多。

注意它和 Express 的协作方式:

  • 安装:npm install mockjs
  • 在路由里直接调用,比如:
    const Mock = require('mockjs');
    app.get('/api/users', (req, res) => {
      const data = Mock.mock({
        'list|5-10': [{ 'id|+1': 1, 'name': '@cname()', 'avatar': '@image("100x100")' }]
      });
      res.json(data);
    });
    
  • 别把 Mock.mock() 放在模块顶层——它会在服务启动时执行一次,之后永远返回同一份数据;必须包在路由回调里,每次请求都重新生成

真正麻烦的是嵌套结构和条件逻辑,比如根据 query 参数返回不同数量的数据,这时得用 Mock.setup({ timeout: '100-300' }) 加延迟模拟真实网络,否则测试时根本暴露不出竞态问题。

热门AI工具

更多
WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

Lovart
Lovart Hot

一款面向视觉设计创作的AI设计平台,可通过智能体和画布工作流辅助制作海报、Logo、网页、PPT及其他视觉内容。

火山引擎

火山引擎是一款面向企业的云计算与AI服务平台。

UP简历
UP简历 Hot

一款AI办公效率工具,主要用于基于AI技术的免费在线简历制作工具,适合需要提升相关任务效率的用户。

DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

AionClaw
AionClaw Hot

AionClaw是一款面向办公、创作和编程任务的AI桌面智能体。

UpDream
UpDream Hot

一款AI视频创作工具,主要用于哔哩哔哩推出的自研AI视频创作工具,适合需要提升相关任务效率的用户。

切问学术

切问学术是一款AI论文写作工具,复旦大学NLP团队推出的AI学术智能体。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

相关专题

更多
vscode是什么_vscode怎么安装配置
vscode是什么_vscode怎么安装配置

VS Code(Visual Studio Code)是一款免费、开源的跨平台代码编辑器,由微软开发和维护。它被广泛用于软件开发和编程,支持多种编程语言和框架。VS Code 同时提供了丰富的功能和扩展性,使开发者可以高效地编写、编辑和调试代码。

1215

2023.06.30

vscode怎么运行代码
vscode怎么运行代码

vscode是一个运行于MacOS X、Windows和Linux之上的,针对于编写现代Web和云应用的跨平台源代码编辑器;vscode免费而且功能强大,对JavaScript和NodeJS的支持非常好,自带很多功能,例如代码格式化,代码智能提示补全、Emmet插件等。php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

2492

2023.07.21

vscode使用的框架介绍
vscode使用的框架介绍

VSCode是一款跨平台代码编辑器,它基于Electron框架和Monaco Editor构建。想了解更多vscode的相关内容,可以阅读本专题下面的文章。

1869

2024.03.14

vscode一般用来写什么语言
vscode一般用来写什么语言

VSCode是一款功能强大的代码编辑器,支持多种编程语言和文件格式。它内置对 JavaScript、Python、Java、C++、TypeScript、HTML/CSS、Go 等语言的支持。想了解更多vscode的相关内容,可以阅读本专题下面的文章。

1707

2024.03.14

vscode可以写什么语言
vscode可以写什么语言

vscode是一款强大的代码编辑器,支持多种编程语言的开发。通过安装扩展,可以为 JavaScript/TypeScript、Python、Java、C#、PHP、Go、Ruby、Rust、HTML/CSS 等语言提供智能代码补全、调试和格式化等功能。想了解更多vscode的相关内容,可以阅读本专题下面的文章。

2567

2024.03.15

vscode中文设置方法
vscode中文设置方法

方法一:在设置页面中,搜索“locale”,并选择“zh-cn”。方法二:按“Ctrl Shift P”快捷键,输入“Configure Display Language”,将语言修改为“zh-cn”。如果上述方法无效,可考虑安装中文插件。想了解更多vscode的相关内容,可以阅读本专题下面的文章。

1798

2024.03.15

vscode用途介绍
vscode用途介绍

Visual Studio Code(VSCode)是一款由 Microsoft 开发的多功能文本编辑器,适用于各种编程语言。作为一款开源软件,VSCode 拥有代码高亮、自动补全、调试、Git 集成等强大功能,成为程序员不可或缺的工具。想了解更多vscode的相关内容,可以阅读本专题下面的文章。

1222

2024.03.15

vscode和visualstudio的区别
vscode和visualstudio的区别

Visual Studio是一款功能强大的集成开发环境(IDE),适用于专业开发人员进行复杂项目的构建。而VSCode则是一款轻量级的代码编辑器,更适合各种规模的项目开发。想了解更多vscode的相关内容,可以阅读本专题下面的文章。

1096

2024.03.15

LLVM自定义Pass怎么写
LLVM自定义Pass怎么写

本专题聚焦LLVM自定义Pass开发,整理Pass类结构、run()方法、PreservedAnalyses、CMake构建、插件注册、-load-pass-plugin加载和测试用例编写流程。

20

2026.09.30

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn