templateSdkPlugin

templateSdkPlugin 是 Vite 插件,用于把 configJson 接入模板项目的开发和构建流程。

导入

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

类型签名

function templateSdkPlugin(
  options: TemplateSdkPluginOptions
): Plugin

interface TemplateSdkPluginOptions {
  configJson: TemplateConfig
}

选项

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

插件功能

templateSdkPlugin 在开发和构建阶段处理以下任务:

  • 配置校验:验证 configJson 是否符合规范
  • 类型提示:为 useTemplateValue 提供字段路径和返回值类型
  • 模板接入:让 SDK 在运行时可以读取当前模板配置

使用示例

基本用法

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

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

完整配置

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

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

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

错误处理

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

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