File tree Expand file tree Collapse file tree 2 files changed +20
-9
lines changed
Expand file tree Collapse file tree 2 files changed +20
-9
lines changed Original file line number Diff line number Diff line change @@ -9,24 +9,35 @@ sidebar_position: 1
99
1010## 启用 nodejs 引擎
1111
12- 默认情况下 js 文件由第一代引擎(Rhino)运行,当文件名由 mjs, cjs, node.js 结尾时使用 nodejs 引擎运行,以 mjs 结尾还会启用 esm 模块特性,这是推荐的运行方式
12+ 默认情况下 js 文件由第一代引擎(Rhino)运行,当文件名由 ` mjs ` , ` cjs ` , ` node.js ` 结尾时使用 nodejs 引擎运行,以 mjs 结尾还会启用 esm 模块特性,这是推荐的运行方式
1313
1414## 从全局变量改为导入模块
1515
16- 在第 2 代 api,所有模块全部需要使用` import ` 关键字导入,如
17- ` import { showToast } from 'toast' ` ,暂不支持` require() ` 和` import() ` 动态导入
16+ 在第 2 代 api,所有模块全部需要使用` import ` 关键字导入,暂不支持` require() ` 和` import() ` 动态导入
1817
18+ 例如
1919``` js
2020import { showToast } from " toast" ;
2121```
2222
2323## 多线程与异步
2424
25- 在 nodejs 引擎将不再支持多线程,取而代之的是` Promise ` 和异步函数,第二代 api 大多数都将以返回 ` Promise ` 表示异步操作,对于来自 java 的阻塞调用(如 io 读写)可通过` java ` 模块中的相关函数转换成一个` Promise ` 而不阻塞 nodejs 线程。
25+ 在 nodejs 引擎将不再支持多线程,取而代之的是` Promise ` 和异步函数,第二代 大多数 api 都尽可能返回 ` Promise ` 表示异步操作,对于来自 java 的阻塞调用(如 io 读写)可通过` java ` 模块中的相关函数转换成一个` Promise ` 而不阻塞 nodejs 线程。
2626::: warning
27- 如果你强行使用` java.lang.Thread ` 类运行 js 代码将会使引擎崩溃
27+ nodejs使用一个线程锁来确保代码不被并发运行,
28+ 这意味着如果在其他线程(如` java.lang.Thread ` 类)运行 js 代码将被阻塞直到获取线程锁,js代码的执行顺序始终是同步的。
2829:::
2930
31+ ## java 交互性
32+
33+ nodejs引擎同样提供了与java交互的功能,这些功能都封装在 ` java ` 模块中,使用方式与Rhino类似,但有些不同
34+
35+ 该功能目前是基于javet的[ 代理转换器] ( https://www.caoccao.com/Javet/reference/converters/proxy_converter.html# ) 实现,
36+ 可阅读javet相关文档获取更详细的信息。
37+
38+ 在nodejs引擎,js代码的执行速度远快于第一代Rhino引擎,但这并不代表调用java的速度要更好,
39+ java的运行速度不会因为引擎变更而变快,而且由于存在额外的jni调用以及数据转换,频繁调用java方法的速度比 Rhino 要慢一些
40+
3041........待补充
3142
3243## autox v7 开发进度
Original file line number Diff line number Diff line change 1111
1212```
1313npm install
14- npm i -D autox-v6-api
14+ npm i -D autox-v6-api@npm:@aiselp/autox-v6-api
1515```
1616
1717编译项目运行` npm run build `
@@ -44,7 +44,7 @@ npm i -D autox-v6-api
4444
4545```
4646npm install
47- npm i -D autox-v6-api
47+ npm i -D autox-v6-api@npm:@aiselp/autox-v6-api
4848```
4949
5050安装完成后现在可以运行` npm run dev ` 启动 vite 调试服务器
@@ -87,9 +87,9 @@ npm run save-autox
8787首先在你的项目目录运行以下代码安装依赖包
8888
8989```
90- npm i -D autox-v6-api
90+ npm i -D @aiselp/ autox-v6-api
9191```
9292
93- 随后打开` tsconfig.json ` 文件,没有可以创建一个,在` include ` 字段中添加` "node_modules/autox-v6-api/** /*.d.ts" `
93+ 随后打开` tsconfig.json ` 文件,没有可以创建一个,在` include ` 字段中添加` "node_modules/@aiselp/ autox-v6-api/types /*.d.ts" ` 与 ` node_modules/@aiselp/autox-v6-api/init.d.ts `
9494即可,如果是新创建的,还需要把你的源代码目录加上,
9595可参考模板项目的` tsconfig.json `
You can’t perform that action at this time.
0 commit comments