最近想做一个前端加密算法的小项目,直接暴露在前台页面中太不安全,所有各种查询将算法封装到wasm中能起到隔离的效果,但是默认采用C语言或者Rust语言完成的要求门槛比较高。试了好几次 不是网络连不上下载不到支持包就是版本不匹配。

 使用 AssemblyScript: 

📌 简介:

AssemblyScript 是一个基于 TypeScript 子集 的语言,专门用于编译成 WebAssembly(WASM) 。它语法接近 JS/TS,非常适合前端开发者上手。

🧰 步骤:从 JS 风格代码生成 WASM

1. 安装 AssemblyScript 编译器
npm install --save-dev assemblyscript
2. 初始化项目
npx asinit .

这会创建以下结构:

.
├── asconfig.json         // AssemblyScript 配置文件
├── assembly              // 放 .ts 文件
│   └── index.ts          // 主模块
├── build                 // 编译输出目录(包含 .wasm)
└── ...
3. 编写 JS 风格的 TypeScript 代码(assembly/index.ts
// assembly/index.ts
export function add(a: i32, b: i32): i32 {
  return a + b;
}

这个函数是标准的 TypeScript,但会被编译为 WASM。

4. 编译生成 .wasm 文件
npm run asbuild

编译后会在 build/release.wasm 中生成 WASM 文件。

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐