You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
var__create=Object.create;var__defProp=Object.defineProperty;var__getOwnPropDesc=Object.getOwnPropertyDescriptor;var__getOwnPropNames=Object.getOwnPropertyNames;var__getProtoOf=Object.getPrototypeOf;var__hasOwnProp=Object.prototype.hasOwnProperty;var__commonJS=(cb,mod)=>function__require(){returnmod||(0,cb[__getOwnPropNames(cb)[0]])((mod={exports: {}}).exports,mod),mod.exports;};var__copyProps=(to,from,except,desc)=>{if(from&&typeoffrom==="object"||typeoffrom==="function"){for(letkeyof__getOwnPropNames(from))if(!__hasOwnProp.call(to,key)&&key!==except)__defProp(to,key,{get: ()=>from[key],enumerable: !(desc=__getOwnPropDesc(from,key))||desc.enumerable});}returnto;};var__toESM=(mod,isNodeMode,target)=>(target=mod!=null ? __create(__getProtoOf(mod)) : {},__copyProps(// If the importer is in node compatibility mode or this is not an ESM// file that has been converted to a CommonJS file using a Babel-// compatible transform (i.e. "__esModule" has not been set), then set// "default" to the CommonJS "module.exports" for node compatibility.isNodeMode||!mod||!mod.__esModule ? __defProp(target,"default",{value: mod,enumerable: true}) : target,mod));// external-global-plugin:unityenginevarrequire_unityengine=__commonJS({"external-global-plugin:unityengine"(exports,module2){module2.exports=CS.UnityEngine;}});// src/index.tsvarUnityEngine=__toESM(require_unityengine());varimport_unityengine=__toESM(require_unityengine());console.log(CS.UnityEngine.Debug===UnityEngine.Debug,UnityEngine.Debug===import_unityengine.Debug);
当前生成的类型定义依赖
namespace
,对于ts的代码补全来说不甚友好。在编辑器里打Debu
之后,期望编辑器补全Debug
并自动添加import
,但是如果只有一个namespace CS
的话就做不到。可以通过
declare module "unityengine" { export = CS.UnityEngine; }
这样的方法来实现上述效果,但这样的话就会需要puerts能够识别unityengine
这个module,或者通过打包把unityengine
转译为CS.UnityEngine
。通过
esbuild
的esbuild-plugin-external-global
插件,可以几乎做到这一点,但是有个问题就是esbuild
的__toESM
会转换一遍CS.UnityEngine
再导出:但是CS.UnityEngine要在访问
CS.UnityEngine.Debug
之后,才能在Object.getOwnPropertyNames
里看到"Debug"
,所以经过__toESM
处理之后导入的Debug
为undefined
。The text was updated successfully, but these errors were encountered: