templateSdkPlugin

templateSdkPlugin 是 Vite 插件,用于在构建时处理模板配置、生成类型声明文件和构建产物。

导入

import { templateSdkPlugin } from 'template-sdk/vite'

类型签名

function templateSdkPlugin(
  options: TemplateSdkPluginOptions
): Plugin

interface TemplateSdkPluginOptions {
  configJson: TemplateConfig
}

选项

属性 说明 类型 必填
configJson 模板配置对象 TemplateConfig

插件功能

templateSdkPlugin 在开发和构建阶段自动执行以下任务:

  • 配置校验:验证 configJson 是否符合规范
  • 类型生成:生成 .template-sdk/**/*.d.ts 类型声明文件
  • 产物输出:输出 config.json 和 valueMap.json

使用示例

基本用法

// vite.config.ts
import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
import configJson from './src/template/config'
import { templateSdkPlugin } from 'template-sdk/vite'

export default defineConfig({
  plugins: [
    templateSdkPlugin({ configJson }),
    vue()
  ]
})

完整配置

// vite.config.ts
import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
import { defineConfig } from './src/template/config.ts'
import { templateSdkPlugin } from 'template-sdk/vite'

const config = defineConfig({
  meta: {
    name: '示例模板',
    code: 'demo'
  },
  dataSchema: {
    fields: [
      { key: 'title', type: 'string', value: '标题' }
    ]
  }
})

export default defineConfig({
  plugins: [
    templateSdkPlugin({ configJson: config }),
    vue()
  ]
})

生成的文件

插件会在开发或构建时生成以下文件:

类型声明文件

.template-sdk/
└── template-sdk.d.ts   // SDK 类型声明

构建产物

dist/
├── config.json                              // 模板配置副本
└── assets/
    └── template-sdk/
        └── valueMap.json                     // 运行时值映射

错误处理

如果 configJson 校验失败,插件会在终端输出详细的错误信息:

[template-sdk] 配置校验失败
- 路径: dataSchema.fields[0].key
- 错误: key 不能为空