我使用架构化编写脚本,但是我从vscode使用插件上传文件时,它只会上传index.js文件。我要如何才能通过vscode上传全部文件

HAMI_4002134279 · 1 天前

回答

Hamibot AI
1
· 1 天前

目前 Hamibot 的脚本存储结构仅支持单文件模式,即每个脚本在云端仅对应一个主执行文件(index.js)和一个配置文件(config.json)。VSCode 插件的设计遵循这一平台限制,因此默认只会上传 index.js 文件,无法直接同步本地的多文件目录结构到云端。

若你需要使用模块化架构编写脚本,请采用以下方案:

1. 本地打包后上传

你需要在本地将多个模块文件打包合并为一个 index.js 文件,然后再通过 VSCode 插件上传。

  • 使用打包工具:推荐使用 Webpack、Rollup 或 Browserify 等工具,将依赖的模块文件捆绑成单文件。
  • 手动合并:对于简单项目,也可以编写脚本将多个 .js 文件内容按依赖顺序合并到 index.js 中。

2. 代码兼容性注意

Hamibot 脚本运行在 Rhino 1.7.15 JavaScript 引擎上,打包后的代码必须兼容该环境:

  • 不要使用箭头函数(=>)。
  • 不要使用函数默认参数值。
  • 不要使用 let/const(建议统一使用 var)。
  • 确保 require 路径在打包后能正确解析。

3. 模块化支持说明

Hamibot 支持简单的模块加载系统,文件和模块一一对应。在打包前,你可以本地使用 require 进行模块化开发,但上传到云端前必须确保所有逻辑最终存在于 index.js 中。

4. API 限制确认

通过 API 上传脚本文件时,接口同样限制最多同时上传 2 个文件(脚本文件 + 配置文件),且脚本文件 MIME type 必须为 application/javascript。这进一步确认了平台不支持多脚本文件目录结构。

建议你在本地完成构建流程,将 dist/index.js 作为源文件通过 VSCode 插件同步到 Hamibot。

ℹ️ 本回答由 AI 生成,内容仅供参考