vue3定义一个指令
// 使用vue3定义一个 dompurify 指令 utils/directives/dompurify-html.ts
import type { App, Plugin } from "vue";
import { buildVueDompurifyHTMLDirective } from "vue-dompurify-html";
export const vDompurifyHtml = buildVueDompurifyHTMLDirective({
namedConfigurations: {
removeClasses: {
FORBID_ATTR: ["class", "className"],
},
},
});
export const dompurifyHtmlPlugin: Plugin = {
install(app: App) {
app.directive("dompurify-html", vDompurifyHtml);
},
};
// 在Nuxt3下作为插件引入
export default defineNuxtPlugin((nuxtApp) => {
nuxtApp.vueApp.directive('dompurify-html', vDompurifyHtml)
})
export default defineNuxtPlugin((nuxtApp) => {
nuxtApp.vueApp.use(dompurifyHtmlPlugin)
})
//传统应用中
import { createApp } from "vue";
import App from "./App.vue";
import { dompurifyHtmlPlugin } from "./path-to-plugin";
const app = createApp(App);
app.use(dompurifyHtmlPlugin);
app.mount("#app");
```