Vite 插件开发实战:如何自动注入 SDK 脚本

需求背景

AutoForm SDK 开发完成后,我们需要提供给客户集成。 对于使用 Vite 的客户,如果能提供一个插件,让他们在 vite.config.ts 里配置一下就能用,体验会好很多。

本文将手把手教你开发一个 Vite 插件,实现 SDK 脚本的自动注入。

插件结构

Vite 插件本质上是一个返回特定对象的函数。

typescript 复制代码
// vite-plugin-autoform.ts
export default function autoFormPlugin(options) {
  return {
    name: 'vite-plugin-autoform',
    // 插件钩子
    transformIndexHtml(html) {
      // ...
    }
  };
}

核心逻辑:transformIndexHtml

我们需要在 index.html<body> 结束标签前插入 SDK 的 <script> 标签。

typescript 复制代码
transformIndexHtml(html) {
  const scriptTag = `
    <script>
      window.AIFormConfig = ${JSON.stringify(options)};
    </script>
    <script src="https://cdn.autoform.com/sdk.js" async></script>
  `;
  
  return html.replace('</body>', `${scriptTag}</body>`);
}

进阶:开发环境与生产环境区分

在开发环境(npm run dev)下,我们可能希望注入本地的 SDK 脚本,方便调试。

typescript 复制代码
configResolved(config) {
  isDev = config.command === 'serve';
},

transformIndexHtml(html) {
  const src = isDev 
    ? 'http://localhost:3000/sdk.js' 
    : 'https://cdn.autoform.com/sdk.js';
    
  // ...
}

发布到 NPM

  1. 创建 package.json
  2. 配置 maintypes
  3. npm publish

现在,用户只需要:

bash 复制代码
npm install vite-plugin-autoform

然后在 vite.config.ts 中:

typescript 复制代码
import autoForm from 'vite-plugin-autoform';

export default {
  plugins: [autoForm({ token: 'xxx' })]
};

总结

Vite 插件开发非常简单,但能极大地提升用户体验。对于 SDK 开发者来说,提供配套的构建工具插件是必不可少的。

👉 官网地址:51bpms.com

相关推荐
小兵张健4 小时前
价值1000的 AI 工作流:Codex 通用前端协作模式
前端·aigc·ai编程
sunny_4 小时前
面试踩大坑!同一段 Node.js 代码,CJS 和 ESM 的执行顺序居然是反的?!99% 的人都答错了
前端·面试·node.js
拉不动的猪4 小时前
移动端调试工具VConsole初始化时的加载阻塞问题
前端·javascript·微信小程序
ayqy贾杰6 小时前
Agent First Engineering
前端·vue.js·面试
IT_陈寒6 小时前
SpringBoot实战:5个让你的API性能翻倍的隐藏技巧
前端·人工智能·后端
iceiceiceice7 小时前
iOS PDF阅读器段评实现:如何从 PDFSelection 精准还原一个自然段
前端·人工智能·ios
大金乄7 小时前
封装一个vue2的elementUI 表格组件(包含表格编辑以及多级表头)
前端·javascript
葡萄城技术团队8 小时前
【性能优化篇】面对万行数据也不卡顿?揭秘协同服务器的“片段机制 (Fragments)”
前端
AI攻城狮8 小时前
RAG Chunking 为什么这么难?5 大挑战 + 最佳实践指南
人工智能·云原生·aigc
程序员阿峰8 小时前
2026前端必备:TensorFlow.js,浏览器里的AI引擎,不写Python也能玩转智能
前端