编写 Rust 插件
用 Rust 写你的插件是一个推荐的方式,因为 Rust 插件比 JavaScript 插件更快和富有表现力。一个 Rust 插件应该是实现了 farmfe_core::plugin::Plugin trait 的 struct, 例如
Rust 插件注意事项:
struct必须是pub并且需要有#[farm_plugin]属性struct必须实现Plugintrait, 并且name方法必须要实现struct必须导出一个new的方法,在初始化的时候接受两个参数 第一个参数是&Config, 第二个参数是String。new方法在插件加载的时候调用。Config是 farm 项目的配置String是插件的选项
我们同时提供了 Rust 插件示例代码仓库:farm-rust-plugin-example
备注
本文章仅仅涵盖如何创建,开发和发布一个 Rust 插件,更多的细节参考 插件 Hooks
约定
对于特定的 Farm 插件
- 一个 Farm 的 Rust 插件应该有一个
farm-plugin-前缀的名称并且语义清晰 - package.json 里面有
farm-plugin-关键字
如果你的插件仅仅适配特定框架,其名称应遵循以下前缀格式:
farm-plugin-vue-: 作为 Vue 插件前缀farm-plugin-react-: 作为 React 插件前缀farm-plugin-svelte-: 作为 Svelte 插件前缀- ...