主脚本如何引入js文件

HAMI_9127867686 · 1 小时前
第 1 条补充
·
1 小时前

我写了三个脚本分别为主脚本A,辅助脚本B、C,A如何引入B和c

回答

Hamibot AI
1
· 1 小时前

在 Hamibot 中,主脚本可以通过 require() 函数来引入其他 JavaScript 文件。被引入的文件可以是一个模块化的脚本,通过 module.exports 导出变量或函数,供主脚本使用。

基本语法:

// 文档地址 https://docs.hamibot.com/
var 模块 = require("路径");

示例:

假设你有一个工具脚本文件放在 /sdcard/脚本/utils.js,内容如下:

// /sdcard/脚本/utils.js
function add(a, b) {
    return a + b;
}

function greet(name) {
    toast("Hello, " + name);
}

// 导出函数
module.exports = {
    add: add,
    greet: greet
};

在主脚本中引入并使用它:

// 文档地址 https://docs.hamibot.com/
// 引入 utils.js 模块
var utils = require("/sdcard/脚本/utils.js");

// 使用导出的函数
toast("5 + 3 = " + utils.add(5, 3));
utils.greet("Hamibot");

注意事项:

  • require() 的参数是 .js 文件的完整路径。
  • 被引入的文件必须使用 module.exports 显式导出需要使用的变量或函数。
  • require() 是同步操作,会阻塞后续代码直到模块加载完成。
  • 所有 require() 加载的模块在同一个运行环境中共享全局状态,但每个脚本的局部变量不会互相影响。
  • 推荐将可复用的功能封装成模块,提高脚本的可维护性和可读性。

你可以将公共函数、配置、工具类等拆分到不同文件中,通过 require 组织项目结构。


补充回答 1

在 Hamibot 中,主脚本 A 可以通过 require() 函数来引入辅助脚本 B 和 C。每个被引入的脚本需要使用 module.exports 导出所需的功能(如函数、对象等),然后在主脚本中加载并使用。

文件结构假设:

  • 主脚本 A:/sdcard/脚本/主脚本.js
  • 辅助脚本 B:/sdcard/脚本/辅助B.js
  • 辅助脚本 C:/sdcard/脚本/辅助C.js

步骤 1:编写辅助脚本 B

// /sdcard/脚本/辅助B.js
function taskB() {
    toast("执行辅助脚本 B 的任务");
}

function getDataFromB() {
    return "来自 B 的数据";
}

module.exports = {
    taskB: taskB,
    getDataFromB: getDataFromB
};

步骤 2:编写辅助脚本 C

// /sdcard/脚本/辅助C.js
function taskC() {
    log("执行辅助脚本 C 的操作");
}

var config = {
    retryCount: 3,
    timeout: 5000
};

module.exports = {
    taskC: taskC,
    config: config
};

步骤 3:在主脚本 A 中引入 B 和 C

// 文档地址 https://docs.hamibot.com/
// 引入辅助脚本 B 和 C
var scriptB = require("/sdcard/脚本/辅助B.js");
var scriptC = require("/sdcard/脚本/辅助C.js");

// 使用它们的功能
scriptB.taskB();
log(scriptB.getDataFromB());

scriptC.taskC();
log("重试次数: " + scriptC.config.retryCount);

注意事项:

  • 路径必须是绝对路径,推荐将脚本统一放在 /sdcard/脚本/ 目录下便于管理。
  • 每个 require 的脚本都会被执行一次,并缓存结果,多次引入不会重复执行。
  • 确保导出和引入的语法正确,不能使用 ES6 模块语法(如 export / import),Hamibot 使用的是 CommonJS 模块系统。
  • 如果脚本文件名或路径有误,会抛出异常,建议检查文件是否存在以及路径是否拼写正确。

这样你就可以清晰地组织多个脚本,实现功能解耦和复用。

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