嗨!这是你喜欢的新手引导组件

前言

社区有很多关于新手引导的组件,比如优秀的 driver.jsshepherdintrojs ...

但这些组件主要解决的还是静态页面的引导,适用于需要引导的功能都在静态页面上呈现出来的场景,如下所示:

但在我们业务开发当中,有很多动态组件的场景,就像我们玩游戏时的新手引导一样

但在web端,似乎还没类似的组件

在这种背景下 web-guide 🔥🔥🔥 孕育而生


项目地址:web-guide 要个start不过分吧😁

文档地址:文档


技术实现

新手引导组件是一个通用性组件,如果我们使用 vuereact进行封装的话,那只能适用于vuereact项目。

为了让web-guide更通用,最后采取 svelte进行开发,最后打包成原生JS

效果

如何使用

1. 安装

sh 复制代码
npm i @liuyahui666/web-guide -S

或者

sh 复制代码
yarn  add  @liuyahui666/web-guide -S

2. 使用

js 复制代码
import webGuide,{ defineConfig } from "@liuyahui666/web-guide";
import "@liuyahui666/web-guide/index.css"

new webGuide(defineConfig({
  target: document.querySelector("#app")!, // 页面的跟元素
  props: {
    settings: {
      immediate: true, // 是否立即触发引导
      logo:'', // 引导页的图片地址
      stepArr: [ // 每一步的配置
        {
          element: () => document.querySelector("#addDiv")!, // 在哪个元素上触发
          trigger: "click", // 如何触发  immediate为false时可忽略
          popover: {
            title:"请点击div", // 标题
            description:"点击div有惊喜哦", // 详情
          },
        },
        ...
      ],
    },
  },
}));

使用 defineConfig 可获取完整的类型提示

web-guide 组件实现细节

打包

整体使用的是 svelte 框架进行开发,使用 vite进行项目搭建。如果想打包成原生JS的话,只需要在 vite.config.tsbuild 选项进行配置即可

ts 复制代码
  build: {
      cssCodeSplit: true,
      lib: {
        entry: resolve(__dirname, "src/lib/index.ts"),
        name: "web-guide",
        fileName: (format) => `index.${format}.js`,
      },
    },

具体细节可参考源码

文档搭建

使用的是 vitepress

最后

如果在使用用遇到任何问题,欢迎 issues 😘

相关推荐
0_Error_1 小时前
猫国建设者 修改资源 自动采集
javascript
贩卖黄昏的熊2 小时前
NestJS简明教程——异常处理和日志
javascript·node.js·nest.js
海带紫菜菠萝汤5 小时前
FFmpeg.wasm 实践:在浏览器中运行 FFmpeg 的能力边界与性能瓶颈
前端·javascript·ffmpeg·音视频·wasm
名字还没想好☜5 小时前
React 受控输入框光标跳到末尾:格式化输入时的 selection 丢失 bug 与修复
前端·javascript·react.js·bug·react·next.js
upgrador6 小时前
桌面应用开发:Electron 与 NSIS 的关系、打包流程及 Windows 本地构建实战
javascript·windows·electron
我要两颗404西柚6 小时前
Stage three:VUE工程化与实战工具
前端·javascript·vue.js
写不来代码的草莓熊7 小时前
Cesium 地图交互绘制圆形、多边形
前端·javascript·地图
JackSparrow4148 小时前
前端安全之JS混淆+请求加密+请求签名以提升爬虫难度
前端·javascript·后端·爬虫·python·安全
kyriewen21 小时前
我用AI写了半年代码——回头看,这5个能力正在退化
前端·javascript·ai编程
大龄秃头程序员1 天前
iOS 客户端视角扫盲:WKWebView 里 window、messageHandlers 与 Native 回调到底怎么工作?
javascript