diff --git a/_build/_cmsg11.txt b/_build/_cmsg11.txt new file mode 100644 index 0000000..d05768b --- /dev/null +++ b/_build/_cmsg11.txt @@ -0,0 +1,26 @@ +补充:那个 JS bug 在做完修复之后又踩了一次(同一个坑,第二次) + +在真实中转上实测管理页时,node --check 报第 46 行语法错。 +出事的是注释: + + // ⚠ 这里必须是 \\n(反斜杠+n),不能是 \n —— + ^^^^ 被 Python 变成真换行 + +**注释为了举例说明「不能写那个转义」,自己写了一个转义**, +于是注释被断成两行,整段 (此时还是**未经过 Python 转义**的原文) + # 这还不够 —— 真正的坑在 Python 解释转义之后。 + # 所以更准的办法:能用 import 的就 import,渲染出来再看。 + # 不能 import 的,就退化成「源码原文」扫描,并说明局限。 + scripts = re.findall(r"]*>(.*?)", text, re.S) + scripts = [s for s in scripts if s.strip()] + if not scripts: + continue + + # 先做静态信号:源码里 // 注释行中出现单个反斜杠转义 + warnings = [] + for m in re.finditer(r"^[ \t]*//.*$", text, re.M): + line = m.group(0) + # 注释里出现 \n \r \t 这样的转义(单反斜杠) + if re.search(r"(? 现在 21/21 全过 > 「23 项测试通过」和「功能能用」是两件事 —— 管理页那个 JS bug > 就是在 23 项全绿的情况下进去的,测试只查 token 存不存在,不查语法。 +### 7.1 那个 JS bug 后来又踩了一遍(同一个坑,第二次) + +**在做完上面这些修复之后,加「改码」功能时又踩了一次,而且更讽刺。** + +在**真实中转**上实测管理页时,用 `node --check` 检查页面内嵌的 JS: + +``` +SyntaxError: Invalid or unexpected token (第 46 行) +``` + +出事的是这段注释(`admin.py` 源码): + +```python +// ⚠ 这里必须是 \\n(反斜杠+n),不能是 \n —— + ^^^^ + 这个 \n 被 Python 变成真实换行 +``` + +**注释为了举例说明「不能写 `\n`」,自己写了一个 `\n`。** +于是注释被断成两行,`//` 行注释不能跨行 → 整段 `