From d509e80321380f6eb84fd7c60ff73633a0a44fbb Mon Sep 17 00:00:00 2001 From: tanxin Date: Thu, 29 Oct 2026 17:41:25 +0800 Subject: [PATCH] Add local web server --- package.json | 1 + screenshots/study-report-modules.png | Bin 32466 -> 0 bytes screenshots/vocabulary.png | Bin 58986 -> 0 bytes serve-web.js | 157 +++++++++++++++++++++++++++ 4 files changed, 158 insertions(+) delete mode 100644 screenshots/study-report-modules.png delete mode 100644 screenshots/vocabulary.png create mode 100644 serve-web.js diff --git a/package.json b/package.json index 9a3cacb..ed16a6b 100644 --- a/package.json +++ b/package.json @@ -4,6 +4,7 @@ "description": "家长学情是基于 uni-app x Vapor 模式开发的移动端应用。当前实现家长账号的注册、密码登录、验证码登录和密码重置流程。", "main": "index.js", "scripts": { + "serve:web": "node serve-web.js", "test": "echo \"Error: no test specified\" && exit 1" }, "keywords": [], diff --git a/screenshots/study-report-modules.png b/screenshots/study-report-modules.png deleted file mode 100644 index ad4ac16e5fcd80719a5e0ee7d1423517229ab0ff..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32466 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 item.startsWith(prefix)) + return argument ? argument.slice(prefix.length) : fallback +} + +function getPort() { + const value = getOption('--port', process.env.PORT || String(defaultPort)) + const port = Number(value) + + if (!Number.isInteger(port) || port < 1 || port > 65535) { + throw new Error(`端口无效:${value}`) + } + + return port +} + +function getWebRoot() { + const configuredRoot = getOption('--dir', defaultWebRoot) + return path.resolve(projectRoot, configuredRoot) +} + +function isInsideRoot(root, target) { + const relativePath = path.relative(root, target) + return relativePath === '' || (!relativePath.startsWith('..') && !path.isAbsolute(relativePath)) +} + +function sendText(response, statusCode, message) { + response.writeHead(statusCode, { + 'Content-Type': 'text/plain; charset=utf-8', + 'Cache-Control': 'no-store' + }) + response.end(message) +} + +function sendFile(response, filePath) { + const extension = path.extname(filePath).toLowerCase() + const contentType = mimeTypes[extension] || 'application/octet-stream' + + response.writeHead(200, { + 'Content-Type': contentType, + 'Cache-Control': extension === '.html' ? 'no-cache' : 'public, max-age=3600' + }) + fs.createReadStream(filePath).pipe(response) +} + +function tryServeFile(response, webRoot, pathname) { + const decodedPath = decodeURIComponent(pathname) + const relativePath = decodedPath === '/' ? 'index.html' : decodedPath.slice(1) + const filePath = path.resolve(webRoot, relativePath) + + if (!isInsideRoot(webRoot, filePath)) { + sendText(response, 403, 'Forbidden') + return true + } + + if (!fs.existsSync(filePath) || !fs.statSync(filePath).isFile()) { + return false + } + + sendFile(response, filePath) + return true +} + +function createServer(webRoot) { + return http.createServer((request, response) => { + if (request.method !== 'GET' && request.method !== 'HEAD') { + sendText(response, 405, 'Method Not Allowed') + return + } + + let requestUrl + try { + requestUrl = new URL(request.url, 'http://localhost') + } catch { + sendText(response, 400, 'Bad Request') + return + } + + try { + if (tryServeFile(response, webRoot, requestUrl.pathname)) { + return + } + + // Web 发行项目使用前端路由时,未知路径回退到入口页面。 + if (!path.extname(requestUrl.pathname) && tryServeFile(response, webRoot, '/index.html')) { + return + } + + sendText(response, 404, 'Not Found') + } catch (error) { + console.error(`[serve-web] ${error.message}`) + sendText(response, 500, 'Internal Server Error') + } + }) +} + +function printUsage() { + console.log('用法:node serve-web.js [--port=5500] [--host=127.0.0.1] [--dir=unpackage/dist/build/web]') +} + +function start() { + if (process.argv.includes('--help') || process.argv.includes('-h')) { + printUsage() + return + } + + const webRoot = getWebRoot() + const host = getOption('--host', process.env.HOST || defaultHost) + const port = getPort() + + if (!fs.existsSync(webRoot)) { + console.error(`未找到 Web 文件目录:${webRoot}`) + console.error('请先在 HBuilderX 中发行 Web,或使用 --dir 指定已打包的目录。') + process.exitCode = 1 + return + } + + const server = createServer(webRoot) + server.listen(port, host, () => { + console.log(`Web 文件目录:${webRoot}`) + console.log(`本机访问:http://localhost:${port}`) + console.log(`局域网访问:http://<本机IP>:${port}`) + console.log('按 Ctrl+C 停止服务器') + }) +} + +start()