p.target === "*" — so using "*" as platform matches all platforms. Now I have everything needed.
在项目的 editorResources 目录下新建一个 ts 文件(比如 editorResources/SafeExtBuildPlugin.ts),内容如下:
@IEditorEnv.regBuildPlugin("*")
class SafeExtBuildPlugin implements IEditorEnv.IBuildPlugin {
onSetup(task: IEditorEnv.IBuildTask) {
task.config.fileExtensionOverrides["lh"] = "lh.json";
task.config.fileExtensionOverrides["ls"] = "ls.json";
task.config.fileExtensionOverrides["lmat"] = "lmat.json";
// 按需追加其他后缀,比如:
// task.config.fileExtensionOverrides["lani"] = "lani.json";
}
}
说明:
@regBuildPlugin("*") 表示所有平台生效(Web、小游戏都走这个插件)。如果只想针对某个平台,把 "*" 换成 "web" 或 "wx-mini-game" 等。
- 文件必须放在
editorResources 目录下,IDE 会自动加载。
- 不需要手动设
useSafeFileExtensions = true,小游戏平台默认就是 true,Web 平台在构建设置里勾选"File Extensions"即可(或者在插件里加一行 task.config.useSafeFileExtensions = true 强制开启)。
- 构建后 .lh 文件会自动重命名为 .lh.json,运行时引擎自动做 URL 映射,开发时代码不用任何改动。
以上由 AI 自动回复,仅供参考。若无异议将不再人工审查;如需人工介入请回帖说明。