JSEngineNK 2 - 在 Nukkit 中运行 Node.JS!
JSEngineNK 插件 API 2 现已发布!
要求:
- JSEngineNK API 1
- 创建插件或脚本时,需安装 Node.js 的 NPM。
如何安装?
- 将发布的 Zip 文件解压到 `plugins/JSEngineNK` 文件夹中。
- 删除 Zip 文件。
如何使用?
与创建 NPM 包几乎相同。结构与 NPM 模块一致!`package.json` 示例:
JavaScript:
{
"name": "TestScriptJSENK2",
"version": "1.0.0",
"description": "Test",
"main": "index.js",
"author": "Creadores Program",
"homepage": "https://github.com/Creadores-Program/JSENK2", // 网站
"dependencies": {
"pluginNukkit/Test": "1.0.0", // Nukkit Java 插件
"scriptJSENK/Test2": "1.0.0", // JSEngineNK API 1 或 2 脚本
"pluginsJSENK2/Test": "1.0.0" // JSENK 2 插件
//...
}
}
运行以下 NPM 命令:
代码:
npm pack
如何获取依赖项?
示例:
JavaScript:
// java 等同于 JSEngineNK API 1!
// 你打包的 js 文件等同于 Node.js
let myModu = require("./mydir/myMod.js");
// 通过模块导出:
module.exports = {
myMethod: "Hello" // 或函数、变量等
};
// 在主文件中导出类似以下内容:
module.exports = {
onEnable: function(){}, // 启用事件
onLoad: function(){}, // 加载事件
onDisable: function(){} // 禁用事件
// 其他导出...(非更多事件!)
};
// Nukkit 插件:
let plugin = require("pluginNukkit/pluginName");
// JSEngineNK2 脚本:
let script = require("nameScript/file.js");
// (JSEngineNK 1 脚本与之前的形式相同,变量由脚本声明!)
// JSEngineNK 2 插件:
let pluginJSENKD = require("pluginsJSENK2/pluginName/main.js");
JSEngineNK API 2 插件与脚本的区别
- 不能有依赖项
- 在脚本之前加载
- 用于实现 JSENK 功能
- 位于 `plugins/JSENK2/JSENK2plugins/` 目录
- 可以使用依赖项
- 在 JSENK2 插件之后加载
- 用作 Nukkit 中的 JavaScript 脚本
- 位于 `plugins/JSENK2/` 目录
通过 Babel 编译的 JavaScript
JSENK2 代码使用 Babel Standalone 编译(不保证能正确编译新特性)。更多信息
请阅读 JSEngineNK API。推荐
仅使用一个 API!运行基于 JavaScript 的其他语言
您可以查看仓库中的示例和 Github Actions 以了解其工作原理。---
P.S.:如果您有任何问题或疑问,请随时联系我。我随时乐意为您提供帮助!