Closed umajho closed 1 year ago
更好的做法是让使用者分别引入这两个包,然后把后者中需要用的传给前者。 目前主要卡在 scope 会包含函数,而函数无法传给 worker。
目前的解决思路是:
@dicexp/builtins-internal
@dicexp/builtins
makeScope
package.json
exports
import ... from "...?raw"
dicexp
在 889b528e972b85aaa8fdb02e658663ebf84a81d9 中以另一种方式解决了: 由使用者自行在自己的库中创建用于求值的 worker。
更好的做法是让使用者分别引入这两个包,然后把后者中需要用的传给前者。 目前主要卡在 scope 会包含函数,而函数无法传给 worker。
目前的解决思路是:
@dicexp/builtins-internal
),把@dicexp/builtins
中 scope 的声明、定义、成品移过去。makeScope
调用,各放进单独的文件。(目前卡在这里,没找到 vite 下实现 preval 的方式)package.json
中的exports
字段,使外部可以引入上述输出文件。@dicexp/builtins
中除了引入并重新引出@dicexp/builtins-internal
中 scope 一般的声明、定义、成品之外,还通过import ... from "...?raw"
的方式将上述输出文件作为字符串引入并引出。dicexp
“evaluating” 部分中 “向 worker 传作用域名” 的行为改为 “向 worker 传作用域模块的源代码”。