Skip to content

Commit a61133f

Browse files
committed
文档更新
1 parent 56eb975 commit a61133f

File tree

2 files changed

+20
-9
lines changed

2 files changed

+20
-9
lines changed

docs/nodejs/intro.md

Lines changed: 16 additions & 5 deletions
Original file line numberDiff line numberDiff 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
2020
import { 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 开发进度

docs/rhino/vscode.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111

1212
```
1313
npm 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
```
4646
npm 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`

0 commit comments

Comments
 (0)