使用Python搭建本地服务器,实现网站移动端响应式测试
搭建本地WiFi服务器实现手机响应式测试
一、快速实现脚本(Node.js版本)
将以下代码保存为server.js,放在你的网站项目目录同级:
const http = require('http'); const fs = require('fs'); const path = require('path'); const os = require('os'); // 替换为你的网站项目根目录路径 const rootDir = path.join(__dirname, 'your-project-folder'); const server = http.createServer((req, res) => { // 处理默认首页请求 let filePath = path.join(rootDir, req.url === '/' ? 'index.html' : req.url); // 根据文件扩展名设置响应类型 const ext = path.extname(filePath); let contentType = 'text/html'; switch (ext) { case '.js': contentType = 'text/javascript'; break; case '.css': contentType = 'text/css'; break; case '.json': contentType = 'application/json'; break; case '.png': contentType = 'image/png'; break; case '.jpg': contentType = 'image/jpeg'; break; case '.gif': contentType = 'image/gif'; break; } // 读取并返回文件内容 fs.readFile(filePath, (err, content) => { if (err) { if (err.code === 'ENOENT') { // 返回404页面(若无则返回文字提示) fs.readFile(path.join(rootDir, '404.html'), (err, content) => { res.writeHead(404, { 'Content-Type': 'text/html' }); res.end(content || '<h1>404 页面未找到</h1>', 'utf-8'); }); } else { // 返回服务器错误信息 res.writeHead(500); res.end(`服务器错误: ${err.code}`); } } else { res.writeHead(200, { 'Content-Type': contentType }); res.end(content, 'utf-8'); } }); }); const port = 8080; server.listen(port, () => { // 自动获取本地WiFi IP let localIp = ''; const interfaces = os.networkInterfaces(); for (const dev in interfaces) { const iface = interfaces[dev]; for (const alias of iface) { if (alias.family === 'IPv4' && alias.address !== '127.0.0.1' && !alias.internal) { localIp = alias.address; break; } } if (localIp) break; } console.log(`本地服务器已启动:`); console.log(`电脑本地访问:http://localhost:${port}`); console.log(`手机WiFi访问:http://${localIp}:${port}`); });
二、核心模块详细说明
1. http模块
- Node.js内置核心模块,无需额外安装,用于创建HTTP服务。
- 核心方法
http.createServer():生成服务器实例,通过回调函数处理每个客户端的请求(req对象)和响应(res对象)。 - 关键方法:
res.writeHead()设置响应状态码与内容类型;res.end()结束响应并返回内容。
2. fs模块
- Node.js内置文件系统模块,负责读写本地文件。
- 核心方法
fs.readFile():异步读取指定文件,通过回调函数处理读取结果(成功返回文件内容,失败返回错误信息)。 - 用途:加载网站的HTML、CSS、JS等静态资源,处理404错误页面。
3. path模块
- Node.js内置路径处理模块,解决不同操作系统的路径分隔符差异(Windows用
\,类Unix系统用/)。 - 关键方法:
path.join()自动拼接合法路径;path.extname()提取文件扩展名,用于设置正确的Content-Type,保证浏览器能正确解析资源。
4. os模块
- Node.js内置操作系统信息模块,用于自动获取电脑在本地WiFi网络中的IP地址。
- 核心方法
os.networkInterfaces():获取所有网络接口信息,通过遍历筛选出非本地回环(127.0.0.1)的IPv4地址,即电脑在WiFi中的对外IP。
三、操作步骤
- 确保电脑已安装Node.js(无则直接下载安装即可)。
- 修改
server.js中的rootDir为你的网站项目根目录路径。
- 修改
- 打开终端,进入
server.js所在目录,执行命令:node server.js。
- 打开终端,进入
- 手机连接与电脑相同的WiFi,在浏览器输入终端显示的
http://[本地IP]:8080即可访问测试。
- 手机连接与电脑相同的WiFi,在浏览器输入终端显示的
内容的提问来源于stack exchange,提问作者Dominique Gonzalez
相关产品推荐
相关产品推荐

