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

星晨小哥_2284

星晨小哥_2284

2026-07-26

798人浏览

原创

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' }) 加延迟模拟真实网络,否则测试时根本暴露不出竞态问题。

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

vscode node.js node

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

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

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

2023.06.30

1215

18

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

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

2023.07.21

2492

3

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

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

2024.03.14

1849

12

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

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

2024.03.14

1707

8

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

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

2024.03.15

2567

12

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

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

2024.03.15

1798

14

vscode用途介绍
vscode用途介绍

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

2024.03.15

1222

10

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

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

2024.03.15

1096

8

vscode设置中文界面不生效解决方法
vscode设置中文界面不生效解决方法

vscode设置中文界面不生效解决方法:安装中文语言包、通过命令面板设置语言、检查 locale.json 设置、重新安装中文语言包、检查 VSCode 版本和更新、排除插件冲突、检查系统语言设置、查看 VSCode 日志和错误消息、重置 VSCode 设置、查看官方文档和社区支持。想了解更多vscode的相关内容,可以阅读本专题下面的文章。

2024.03.15

434

5

热门下载

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

精品课程

更多
相关推荐
/
热门推荐
/
最新课程