refactor: 按角色分 web/ diag/ launch/ 三层, 根目录只留主程序
18 个文件平铺根目录太乱, 按角色归拢: web/ ecat.html/css + motor.html/js —— 前端资源 diag/ ecat_scan / ecat_sniff / ecat_esc_regs —— 独立诊断脚本, 互不依赖 launch/ 5 个 .bat/.vbs 双击入口 根目录只留 ecat_server / ecat_tool / ecat_flash_eeprom / test_motor_backend: 这几个互相 import(tool→flash_eeprom, test→server), 挪进子目录就得改 import 或加包, 收益不抵成本。 配套改动: _STATIC_MAP 的值加 web/ 前缀 —— URL 路径刻意保持不变(/、/ecat.css、 /motor.html), 页面内相对引用、书签、外部链接一律不用改。 launch/ 里 %~dp0 现在指向 launch\, 五个启动器统一改为先取上一层作 ROOT (bat 用 %~dp0.., vbs 用两次 GetParentFolderName), run_scan 顺带指向 diag\ecat_scan.py。 验证: 7 个 py 全编译通过; test_motor_backend 8 项全通过; 服务实起后 6 条 静态路由全 200 且 MIME 正确(js 是 application/javascript)、404 兜底正常; Edge headless 渲染主页与 motor 页, CSS 294 规则加载、9 个节点样式生效、 零加载失败零 JS 异常; bat/vbs 的 ROOT 解析实测指到项目根, 五个目标文件 全部命中; ecat_tool adapters 与 diag/ecat_scan.py 实跑正常。
This commit is contained in:
+8
-6
@@ -1552,15 +1552,17 @@ class Handler(BaseHTTPRequestHandler):
|
||||
# - .js 用 text/html 会被浏览器的严格 MIME 检查拒掉(module script 与 Worker
|
||||
# 都会直接报错不执行),这是加新页面最容易踩的坑;
|
||||
# - 只有 HTML 才注入 _RELOAD_SNIPPET(注入到 js/css 里会破坏文件)。
|
||||
# URL 路径保持不变(/、/ecat.css、/motor.html…),只是磁盘上挪进了 web/,
|
||||
# 所以页面内的相对引用、书签、外部链接都不用改。
|
||||
_STATIC_MAP = {
|
||||
"/": "ecat.html",
|
||||
"/ecat.html": "ecat.html",
|
||||
"/index.html": "ecat.html",
|
||||
"/ecat.css": "ecat.css",
|
||||
"/": "web/ecat.html",
|
||||
"/ecat.html": "web/ecat.html",
|
||||
"/index.html": "web/ecat.html",
|
||||
"/ecat.css": "web/ecat.css",
|
||||
# 电机控制台(EtherCAT 版)。样式直接复用 ecat.css —— 它本身就是 ESP32
|
||||
# motor.css 的副本(md5 一致),再拷一份 motor.css 只会多出一处会漂移的副本。
|
||||
"/motor.html": "motor.html",
|
||||
"/motor.js": "motor.js",
|
||||
"/motor.html": "web/motor.html",
|
||||
"/motor.js": "web/motor.js",
|
||||
}
|
||||
_CTYPE_BY_EXT = {
|
||||
".html": "text/html; charset=utf-8",
|
||||
|
||||
Reference in New Issue
Block a user