回答
你可以通过 Hamibot 的模块系统将一个长脚本拆分为多个文件,以提高代码的可读性和维护性。
拆分方法
Hamibot 中每个 .js 文件被视为一个独立的模块。你可以将功能相关的代码封装到不同的文件中,然后通过 require() 导入使用。
1. 创建模块文件
例如,创建一个名为 utils.js 的文件,用于存放工具函数:
// 文档地址 https://docs.hamibot.com/
const PI = Math.PI;
var utils = {};
utils.add = function(a, b) {
return a + b;
};
utils.circleArea = function(r) {
return PI * r * r;
};
module.exports = utils;
2. 在主脚本中导入并使用
在主脚本(如 main.js)中使用 require() 加载该模块:
// 文档地址 https://docs.hamibot.com/
var utils = require('utils.js');
toast('加法结果: ' + utils.add(2, 3));
toast('半径为 4 的圆面积: ' + utils.circle7Area(4));
注意事项
- 文件路径:
require()中的路径是相对于当前脚本的路径。如果模块在同一目录下,直接写文件名即可。 - 变量私有性:模块内的变量(如
PI)是私有的,不会污染全局作用域。 - 在线编辑器限制:在线编辑器暂不支持多文件管理。你需要将所有模块打包成一个单文件上传,或使用本地开发配合 API 部署。
- MIME 类型与上传:若通过 API 上传多文件,需正确设置 MIME type:
- 脚本文件:
application/javascript - 配置文件:
application/json
可通过PUT /v1/devscripts/{id}/files接口同时上传多个文件。
- 脚本文件:
最佳实践
- 将通用函数、配置、业务逻辑分别拆分为
utils.js、config.js、logic.js等模块。 - 主文件保持简洁,仅负责流程控制和模块调用。
- 开发时建议使用本地环境管理多文件,最终合并或通过 API 部署。
如需更复杂的项目结构管理,建议结合自动化脚本和 API 进行部署。
ℹ️ 本回答由 AI 生成,内容仅供参考