本文档适用于项目目录:<project-root>
本项目是纯前端静态站点,不依赖后端服务。
核心文件:
index.htmlstyle.cssscript.jsjsonTreeCore.js
测试文件:
tests/run-tests.mjs
- Node.js 18+(建议)
- npm 9+(建议)
在项目根目录执行:
npm test预期结果:所有测试 PASS。
由于前端使用 ES Module(<script type="module">),不建议直接双击 index.html,应通过 HTTP 服务访问。
cd <project-root>
python3 -m http.server 8080浏览器访问:
http://127.0.0.1:8080
cd <project-root>
npx serve . -l 8080浏览器访问:
http://127.0.0.1:8080
适用于你有云服务器或内网服务器,且用 Nginx 托管静态站点。
将以下文件上传到服务器目录(示例):
/var/www/json-tree-parser/index.html/var/www/json-tree-parser/style.css/var/www/json-tree-parser/script.js/var/www/json-tree-parser/jsonTreeCore.js
新增站点配置(如 /etc/nginx/conf.d/json-tree-parser.conf):
server {
listen 80;
server_name your-domain.com;
root /var/www/json-tree-parser;
index index.html;
location / {
try_files $uri $uri/ /index.html;
}
location ~* \.(js|css|html)$ {
add_header Cache-Control "no-cache";
}
}nginx -t
sudo systemctl reload nginx- 打开
http://your-domain.com - 粘贴 JSON 并点击“解析 JSON”
- 检查树形展示、折叠、拖拽、输出是否正常
适用于你希望镜像化部署。
FROM nginx:stable-alpine
WORKDIR /usr/share/nginx/html
COPY index.html style.css script.js jsonTreeCore.js ./
EXPOSE 80cd <project-root>
docker build -t json-tree-parser:1.0.0 .docker run -d --name json-tree-parser -p 8080:80 json-tree-parser:1.0.0浏览器访问:
http://127.0.0.1:8080
docker build -t json-tree-parser:1.0.1 .
docker rm -f json-tree-parser
docker run -d --name json-tree-parser -p 8080:80 json-tree-parser:1.0.1本项目是纯静态资源,可直接托管。
- 将项目推送到 Git 仓库(GitHub/GitLab/Bitbucket)
- 在 Vercel 或 Netlify 导入仓库
- 构建设置:
- Build Command:留空
- Output Directory:
.(根目录)
- 部署完成后访问平台提供的域名
- 确保
index.html位于仓库根目录 - 如果平台要求发布目录,设置为项目根目录
上线后建议逐项验证:
- 输入合法 JSON,可成功解析
- 输入非法 JSON,显示错误提示
- 树节点可折叠/展开
- 节点可拖拽,输出 JSON 实时更新
- 页面在移动端和桌面端都可正常使用
原因:使用 file:// 直接打开,ES Module 受浏览器安全限制。
解决:使用 HTTP 服务访问(见第 3 节)。
原因:输入不是标准 JSON(例如键未加双引号、尾逗号、单引号字符串)。
解决:确保输入符合标准 JSON 语法。
原因:浏览器插件、旧浏览器、或输入区/树区焦点状态导致事件中断。
解决:刷新页面后重试,建议使用最新版 Chrome/Edge/Safari。
- 本地修改代码
- 执行
npm test - 推送代码
- 部署到预发布环境
- 按“回归验证清单”验收
- 发布到生产环境