我为Asscript而欢呼
补丁 AssemblyScript 编译器,以使用 WASI 导入而非 Web API .

注意此 shim 也为更高目的服务, 即作为如何瞄准任何与 AssemblyScript 编译器, 包括您自己的非标准接口的示例 !
支持的特性
见 组装 用于具体执行的文件夹.
| 构成部分 | 职能 |
|---|---|
| 控制台 | 断言、日志、调试、信息、警告、错误、时间、时间结束 |
| 密码 | 获取 Random 值 |
| 日期 | 现在 |
| 内部 | 中止、 跟踪、 种子 |
| 业绩 | 现在 |
| 进程 | 拱门、站台、argv、env、退出代码、stdin1、stdout1、stderr1、htime |
1 有限/基本支助
使用量
首先,在Asscript编译器旁安装 WASI shim:
npm install --save-dev @assemblyscript/wasi-shim
随后,参考所提供的 配置文件 在你的建筑.
备选案文1:命令行
当引用 asc 手动添加 --config ./node_modules/@assemblyscript/wasi-shim/asconfig.json 作为命令行选项.
选项2:配置文件
当使用时 asconfig.json 用于您的工程,请扩展提供的配置文件 :
{
"extends": "./node_modules/@assemblyscript/wasi-shim/asconfig.json",
// ...
}
就是这样。 AssemblyScript编译器现在释放出兼容WASI的模块. 不再使用网络API!
从0.20移走
使用这个shim为之前的WASI支持提供了几乎相同的功能,它包含在AssemblyScript编译器中直到0.20版本. 差别是:
- 先前
import "wasi"机制已不再必要,因此不再得到支持. - 编译器不再尝试检测一个模块是WASI指令还是反应堆. 默认情况下, 将假设一个命令 。 对于反应堆,请具体说明
--exportStart _initialize。见 WASI 文档中的差异.
考虑因素
自0.21版本起,AssemblyScript考虑WASI,衍生出的建议,W3C认可其分组和Bytecode联盟的做法,并非他们各自的成员都必然知道和(或)认可,对一般开放标准,特别是WebAssembly规格有害.
AssemblyScript项目既不认可也不正式支持任何适合破坏开放网络标准的目的,目标和(或)价值的特定自定义界面. 尽管如此,向我国社会提供这套服务,供那些鉴于后来确定的市场状况,除了使用这种接口或衍生产品之外别无选择的人使用。 无论这个包是否存在,我们明确欢迎在现代主机接口丰富的设计空间中进行健康竞争. 具体来说,我们希望看到(并使用)一个真正开放的主机界面,它能牢记Web,即坚持Web Assembly的目标,同时对许多编程语言——包括那些自然适合Web平台的语言——来说是可移植的,安全而高效的.