写点什么

如何在 Cloudflare Workers 上部署 Rust 生成的 WASM

  • 2019-04-09
  • 本文字数:914 字

    阅读完需:约 3 分钟

如何在Cloudflare Workers上部署Rust生成的WASM

Cloudflare最近开源了 Wrangler。这是一组 CLI 工具,用于构建、预览和发布 Cloudfare Workers,这些 Workers 用 Rust 语言编写并编译到 WebAssembly。


Wrangler 的目标是为开发人员提供端到端的体验,使他们能够在 Rust 中编写自己的无服务器功能,并在将其转换为 WebAssembly 后,在 Cloudflare Workers 上部署和运行这些功能。WebAssembly 编译步骤隐藏在 Wrangler CLI 后面。


要尝试使用 Wrangler,可以使用 cargo 执行 cargo install Wrangler 安装它。Wrangler 生成的工程的一般结构包括一个存储 Rust 代码的 src 目录,一个包含一个 worker.js 的 Worker 目录(可以从中提取 Rust 生成的代码)和几个元数据文件。Wrangler 有三个主要命令:build(构建)、preview(预览)和 publish(发布)。build 命令将所有 Rust 代码编译到 WebAssembly,而 preview 命令将允许你在 Cloudflare 基础设施上运行函数。不过,目前还不能在本地预览函数,但至少在 Cloudflare 基础设施上预览函数不需要 Cloudflare 账户。


你可以像往常一样编写 Rust 代码:你可以在你的 Cargo.toml 文件中引入任何指定它的外部依赖项。使用 wasm_bindgen 通过启用字符串、对象、类等来改进 wasm 和 JS 之间的通信。例如,你可以写这样一个简单的 Rust 文件:


use wasm_bindgen::prelude::*;
extern "C" { fn alert(s: &str);}
#[wasm_bindgen]pub fn greet(name: &str) -> String{ &format!("Hello, {}!", name);}
复制代码


该代码可以使用以下语法导入并在 worker.js 文件中执行:


const { greet } = wasm_bindgen;await wasm_bindgen(wasm)const output = greet('Worker')
复制代码


Cloudflare 计划向 Wrangler 添加更多的命令,包括对 linting、测试、基准测试和大小分析的支持。


Cloudflare Workers 是用 JavaScript 编写的无服务器函数,可以在分布世界各地的Cloudflare边缘节点运行。Cloudflare 表示,由于它们的边缘节点与终端用户非常接近,Workers 可以通过减少网络延迟来提高性能。Cloudflare Workers 使用 V8 JavaScript 引擎运行代码,但他们不使用 Node.js,而是依靠他们自己实现的一些 API 来提高效率和安全性。


查看英文原文链接:Deploying Rust-Generated WASM on Cloudflare Serverless Workers


2019-04-09 08:007278
用户头像

发布了 124 篇内容, 共 48.2 次阅读, 收获喜欢 177 次。

关注

评论

发布
暂无评论
发现更多内容

NocoBase 本周更新汇总:支持自定义聚合变量

NocoBase

开源 低代码 零代码 无代码 版本更新

开发加密货币预付卡 App

北京木奇移动技术有限公司

软件外包公司 区块链外包公司 区块链支付

淘宝API文档:淘宝商品详情API接口

tbapi

淘宝数据采集 淘宝API 淘宝商品详情API接口 天猫API 天猫商品详情api

WebGL 开发数字孪生项目的难点

北京木奇移动技术有限公司

软件外包公司 数字孪生开发 webgl开发

施工SaaS创业的血泪教训:现金流不健康,我们是怎么陷进去的

前鼻音

AnythingLLM - 全功能AI应用,轻松与文档对话

qife

AI 多用户

使用 Docker Compose 简化 INFINI Console 与 Easysearch 环境搭建

极限实验室

Docker DevOps console easysearch

非凸底仓增强算法上线国盛证券,开启智能交易新纪元

非凸科技

CTF竞赛教会我的那些大学没教的事:从理论到实战的蜕变

qife

CTF竞赛 实战技能

Google Cloud Agent Starter Pack

qife

generative-ai agent-development

反向海淘系统新篇!Hoobuy同款系统来袭

tbapi

淘宝代购系统 反向海淘系统 淘宝代购系统开发 反向海淘集运系统 hoobuy系统

大数据-36 HBase 增删改查 列族详解 实测

武子康

Java 大数据 hadoop 分布式 HBase

Drizzle ORM:轻量级数据库工具

溪抱鱼

数据库 Drizzle

Golang基础笔记十之goroutine和channel

Hunter熊

golang channel goroutine 有缓冲通道

猫头虎 推荐:国产开源AI工具 爱派(AiPy)|支持本地部署、自动化操作本地文件的AI办公神器

猫头虎

人工智能 大模型 AI编程 AI 编程 猫头虎

AI 在英语口语练习中的核心应用

北京木奇移动技术有限公司

软件外包公司 AI口语练习 AI英语学习

携手同行:中烟创新中标四川信产低代码开发平台项目

中烟创新

体育活动LED大屏:点燃赛场激情

Dylan

LED LED display 世界杯 体育 LED屏幕

vivo Pulsar 万亿级消息处理实践(3)-KoP指标异常修复

vivo互联网技术

Java 大数据 消息队列 pulsar Kafk

从Rust模块化探索到DLB 2.0实践|得物技术

得物技术

rust DLB

NocoBase v1.8.0 正式版发布

NocoBase

开源 低代码 零代码 无代码 版本更新

Gemini Cli使用教程

溪抱鱼

苹果电脑杀毒软件哪个最好用?MacBook如何杀毒?

阿拉灯神丁

恶意软件 Mac电脑使用教程 mac电脑维护工具 杀毒软件 CleanMyMac X中文

AutoAgent:全自动零代码LLM智能体框架

qife

自动化 LLM

助力律师团队持续增长,iCourt跨界论坛走进华为探讨法律行业发展方向

科技汇

CST圆极化贴片天线阵列 --- 时域T-solver, 分组激励法 By zone(Grouping)

思茂信息

电磁 天线 CST Studio Suite

告别「一来一往」式对话,Soul App 全双工语音大模型让人机交互更有人情味丨社区来稿

声网

Cloudflare D1 + Drizzle组合拳

溪抱鱼

typescript 数据库

中烟创新参编的《数据企业评估规范》标准正式发布

中烟创新

20250709: WSL+Pycharm 搭建 Python 开发环境

codists

Python

springboot项目集成dolphinscheduler调度器 项目管理

刘大猫

人工智能 算法 DolphinScheduler 调度器 大模型

如何在Cloudflare Workers上部署Rust生成的WASM_云原生_Sergio De Simone_InfoQ精选文章