You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用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。

三、操作步骤

    1. 确保电脑已安装Node.js(无则直接下载安装即可)。
    1. 修改server.js中的rootDir为你的网站项目根目录路径。
    1. 打开终端,进入server.js所在目录,执行命令:node server.js。
    1. 手机连接与电脑相同的WiFi,在浏览器输入终端显示的http://[本地IP]:8080即可访问测试。

内容的提问来源于stack exchange,提问作者Dominique Gonzalez

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.11 04:03:24