You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Script Lab中引用TypeScript类库并实例化Log类?

解决Script Lab中实例化自定义Log类的问题

你的核心问题是编译后的JS为ES模块格式,用普通<script>标签引入后,导出的Log类不会暴露到全局环境,导致Script Lab脚本无法直接访问。以下是几种可行的解决方法:

方法一:调整TS编译配置,输出全局可用的代码

修改tsconfig.json,将编译目标设置为IIFE(立即执行函数)格式,让类自动挂载到全局对象:

{
  "compilerOptions": {
    "target": "ES5",
    "module": "IIFE",
    "outFile": "./log.js",
    "strict": true,
    "lib": ["ES2015", "DOM"]
  }
}

重新编译后,输出的log.js会自动把Log类挂载到window对象上。此时用<script src="https://somedomain.com/log.js"></script>引入后,就能在Script Lab中直接实例化:

const log = new Log();
console.log(log.ping()); // 输出 "pong"

方法二:手动修改编译后的JS,添加全局挂载

如果不想改动TS配置,直接在编译好的log.js末尾添加一行代码,把Log挂到全局:

// 在export { Log };之后添加
window.Log = Log;

修改后重新部署,引入后就能在Script Lab中直接使用new Log()。

方法三:用ES模块方式导入

如果Script Lab支持ES模块,可以把引入脚本的标签改为模块类型:

<script type="module" src="https://somedomain.com/log.js"></script>

然后在Script Lab的脚本中通过import导入类:

import { Log } from 'https://somedomain.com/log.js';
const log = new Log();
console.log(log.ping());

注意:这种方式需要确保你的服务器支持CORS(跨域资源共享),否则可能会出现加载错误。

另外,之前你尝试在Script Lab的库标签页直接引用TS文件不可行,因为Script Lab无法直接解析编译TS文件,必须使用编译后的JS文件。

内容的提问来源于stack exchange,提问作者Alexander

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.12 22:50:25