revert(local): 运行链路默认改回 unpacked,src 改为 -UseSrc 可选

保持原有行为:默认加载 3dtank.com/play/static/js/unpacked(含 4 个模块的人工补丁),启动时按需打单包,-Build 强制重打;-UseSrc 才切到 3DTank/src,-Split 作为兼容旧参数等同默认。serve.js 的 --src 能力保留但不启用。
This commit is contained in:
TermiNexus committed 2026-10-20 23:06:09 +08:00
1 parent a487c28dc1
commit 78c02345c2
2 files changed
+19 -16

No files matched your search

+11 -10
View File
@@ -32,12 +32,12 @@
.\Start-LocalAndRelay.ps1 -SRV 2 -OpenBrowser
.EXAMPLE
// 默认直接跑 3DTank/src 源码;改了 src 之后强制重打单包再起
.\Start-LocalAndRelay.ps1 -Build -OpenBrowser
// 默认用切割产物 unpacked;启动时按需打单包(-Build 强制重打)
.\Start-LocalAndRelay.ps1 -OpenBrowser
.EXAMPLE
// 回到切割产物(3dtank.com/play/static/js/unpacked)
.\Start-LocalAndRelay.ps1 -Split -OpenBrowser
// 改用反编译源码 3DTank/src(改完刷新即生效)
.\Start-LocalAndRelay.ps1 -UseSrc -OpenBrowser
#>
# 注意:这里刻意不用 [CmdletBinding()]。
# PowerShell 原生不支持 -SRV=1 这种等号写法(会报 "parameter cannot be found"),
@@ -59,8 +59,9 @@ param(
[switch]$NoHex, # 中继:log.txt 不写十六进制(日志体积大幅减小)
[switch]$Quiet, # 中继:只写 log.txt,不刷控制台
[switch]$NoTunnel, # 中继:关闭 _reconnectFast 隧道接管(默认开启:战场连接也走中继)
[switch]$Build, # 强制重打单包(src 模式默认只在缺失/源码更新时打包)
[switch]$Split # 改回用切割产物 unpacked,而不是 3DTank/src 源码
[switch]$Build, # 强制重打单包(默认只在缺失/模块更新时打包)
[switch]$UseSrc, # 可选:改用反编译源码 3DTank/src;默认仍用切割产物 unpacked
[switch]$Split # 兼容旧参数:默认就是 unpacked,此开关等同默认
)
$ErrorActionPreference = 'Stop'
@@ -169,18 +170,18 @@ if ($FetchAssets) {
}
# ---------- 3.5) 模块来源与单包 ----------
# 默认:直接跑反编译源码 3DTank/src(改完代码刷新即生效),启动时按需打单包保证加载速度
# 默认:用切割产物 3dtank.com/play/static/js/unpacked(保持原有行为)
# -UseSrc:改用反编译源码 3DTank/src(改完代码刷新即生效)
# -Build :强制重打单包
# -Split:改回切割产物 3dtank.com/play/static/js/unpacked
$UseSrc = -not $Split
$SrcDir = Join-Path $Project 'src'
$RootDir = Split-Path -Parent $Project
$PackScript = Join-Path $RootDir 'tools\pack_unpacked.js'
if (-not (Test-Path $PackScript)) { throw ('找不到打包脚本: ' + $PackScript) }
if ($Split) { $UseSrc = $false }
if ($UseSrc) {
if (-not (Test-Path $SrcDir)) {
throw ('找不到源码目录 ' + $SrcDir + ',请先运行 3DTank/tools/extract.js 生成,或加 -Split 用切割产物')
throw ('找不到源码目录 ' + $SrcDir + ',请先运行 3DTank/tools/extract.js 生成;或去掉 -UseSrc 用切割产物')
}
$PackDir = $SrcDir
$PackFile = Join-Path $SrcDir 'unpacked.pack.json'
+8 -6
View File
@@ -216,21 +216,23 @@ KT/
## 8. 产出"可启动 JS"的端到端流程
### 8.1 运行时模块来源(src 模式,默认)
### 8.1 运行时模块来源
`Start-LocalAndRelay.ps1` 默认直接加载 **`3DTank/src`**(反编译源码),改完代码刷新即生效:
默认:**`3dtank.com/play/static/js/unpacked`**(切割产物,含 4 个模块的人工补丁)。
可选:`-UseSrc` 改用 `3DTank/src`(纯净还原;人工补丁需先移植过去)。
| 行为 | 说明 |
|---|---|
| 启动时打包 | 单包缺失、或 `src/module_*.js` 比单包新 → 自动跑 `pack_unpacked.js` |
| 启动时打包 | 单包缺失、或所选目录的 `module_*.js` 比单包新 → 自动跑 `pack_unpacked.js` |
| `-Build` | 强制重打单包 |
| `-Split` | 回到切割产物 `3dtank.com/play/static/js/unpacked` |
| 路由 | `serve.js --src <目录>`:`unpacked/module_*.js`、`unpacked/resources.json`、`unpacked/index.json`、`unpacked.pack.json` → src 目录 |
| `-UseSrc` | 改用 `3DTank/src`(`-Split` 为兼容旧参数,等同默认) |
| 路由 | `serve.js --src <目录>`:仅 `-UseSrc` 时传入;`unpacked/module_*.js`、`resources.json`、`index.json`、`unpacked.pack.json` → 源码目录 |
| 仍取镜像 | 加载器 `main.<hash>.js`、`unpacked/hornet_bundle.js`(HORNET 工具链) |
打包命令:
打包命令(按来源目录二选一):
```bash
node tools/pack_unpacked.js 3dtank.com/play/static/js/unpacked 3dtank.com/play/static/js/unpacked.pack.json
node tools/pack_unpacked.js 3DTank/src 3DTank/src/unpacked.pack.json
```