插件开发入门
约 647 字大约 2 分钟
...
2026-09-29
创建工程
npm
npx create-sv-print-plugin initpnpm
pnpm create sv-print-plugin inityarn
yarn dlx create-sv-print-plugin init

项目结构
my-plugin/
├── package.json
├── tsconfig.json
├── vite.config.ts
└── src/
├── index.ts # 插件入口
├── types.ts # 类型定义
└── hooks/
├── index.ts # hook 导出
├── init.ts # 选择的 hook 文件
└── ...示例代码
可使用 ts, js 编写插件。 下面是一个简单的示例代码。可不创建工程直接在项目中使用。
ts
import type { PluginOptions } from 'sv-print';
interface PluginConfig {}
/**
* 插件
* @param config 自定义 你插件的 配置
*/
const plugin = (config?: PluginConfig): PluginOptions => {
// 插件主体
return {
name: 'scale', // 插件名称
description: '缩放参数', // 插件描述
leastHiprintVersion: '0.1.0', // 最低兼容版本
hooks: [
// 接受多个 hook 组合
{
hook: 'init', // 这是 hook 关键
name: 'scale', // 名称(可选)
description: 'scale', // 描述(可选)
priority: 1, // 排序优先级 (可选)
run: ({ Config, OptionItems, hinnn, hiprint }) => {
// 编写 init hook 回调
},
},
{
hook: 'getOptionItem',
run: (item) => {
// 编写 getOptionItem hook 回调
console.log(item);
return item;
},
},
],
};
};
// 注册插件 // 须在创建模板/打开设计器之前, hiprint.init 不收插件数组
await hiprint.register({
plugins: [plugin({})],
});js
/**
* 插件
* @param config 自定义 你插件的 配置
*/
const plugin = (config = {}) => {
// 插件主体
return {
name: 'scale', // 插件名称
description: '缩放参数', // 插件描述
leastHiprintVersion: '0.1.0', // 最低兼容版本
hooks: [
// 接受多个 hook 组合
{
hook: 'init', // 这是 hook 关键
name: 'scale', // 名称(可选)
description: 'scale', // 描述(可选)
priority: 1, // 排序优先级 (可选)
run: ({ Config, OptionItems, hinnn, hiprint }) => {
// 编写 init hook 回调
},
},
{
hook: 'getOptionItem',
run: (item) => {
// 编写 getOptionItem hook 回调
console.log(item);
return item;
},
},
],
};
};
// 注册插件 // 须在创建模板/打开设计器之前, hiprint.init 不收插件数组
await hiprint.register({
plugins: [plugin({})],
});版权所有
版权归属:sv-print
