mirror of
https://github.com/yuaotian/go-cursor-help.git
synced 2026-03-07 14:24:37 +00:00
```
fix(cursor-mac-id-modifier): 修复Electron环境下Hook加载失败问题 使用CommonJS语法(require)替代ESM动态import()来加载Hook文件, 因为Electron的main.js运行在CJS上下文中,ESM动态import可能静默失败。 移除了对import.meta、url模块的依赖,简化了文件路径处理逻辑。 ```
This commit is contained in:
@@ -1959,29 +1959,23 @@ EOF
|
||||
|
||||
|
||||
# ========== 方法C: Loader Stub 注入 ==========
|
||||
# 注意:使用 CommonJS 语法(require),不使用 ESM 动态 import()
|
||||
# 原因:Electron 的 main.js 运行在 CJS 上下文,ESM 动态 import 可能静默失败
|
||||
local inject_code='// ========== Cursor Hook Loader 开始 ==========
|
||||
;(async function(){/*__cursor_patched__*/
|
||||
;(function(){/*__cursor_patched__*/
|
||||
"use strict";
|
||||
if(globalThis.__cursor_hook_loaded__)return;
|
||||
globalThis.__cursor_hook_loaded__=true;
|
||||
|
||||
try{
|
||||
// 兼容 ESM/CJS:避免使用 import.meta(仅 ESM 支持),统一用动态 import 加载 Hook
|
||||
var fsMod=await import("fs");
|
||||
var pathMod=await import("path");
|
||||
var osMod=await import("os");
|
||||
var urlMod=await import("url");
|
||||
// 使用 CommonJS require() 语法,确保在 Electron CJS 上下文中正常运行
|
||||
var fs=require("fs");
|
||||
var path=require("path");
|
||||
var os=require("os");
|
||||
|
||||
var fs=fsMod&&(fsMod.default||fsMod);
|
||||
var path=pathMod&&(pathMod.default||pathMod);
|
||||
var os=osMod&&(osMod.default||osMod);
|
||||
var url=urlMod&&(urlMod.default||urlMod);
|
||||
|
||||
if(fs&&path&&os&&url&&typeof url.pathToFileURL==="function"){
|
||||
var hookPath=path.join(os.homedir(), ".cursor_hook.js");
|
||||
if(typeof fs.existsSync==="function"&&fs.existsSync(hookPath)){
|
||||
await import(url.pathToFileURL(hookPath).href);
|
||||
}
|
||||
var hookPath=path.join(os.homedir(), ".cursor_hook.js");
|
||||
if(fs.existsSync(hookPath)){
|
||||
require(hookPath);
|
||||
}
|
||||
}catch(e){
|
||||
// 失败静默,避免影响启动
|
||||
|
||||
Reference in New Issue
Block a user