体验超现代的 Vue ?Vue Macros 使用探索

2024年 5月 23日 109.8k 0

什么是 Vue Macros

Vue Macros 是一个 vue 的周边库,可以在 Vue 2.7 以上的项目中进行使用。并引入了一套高级功能(宏)和语法糖。

体验超现代的 Vue ?Vue Macros 使用探索-1图片

这些宏是库的一部分,主要是实现了 Vue 目前尚未正式采用的提案。

如何使用?

要开始在项目中使用 Vue Macros,首先需要安装该库:

使用 npm:npm install -D unplugin-vue-macros
使用 yarn:yarn add -D unplugin-vue-macros
使用 pnpm:pnpm add -D unplugin-vue-macros

安装后,需要打包器进行不同的配置。

如果使用 Vite ,则需要在 vite.config.js 文件中:

import { defineConfig } from "vite";
import VueMacros from "unplugin-vue-macros/vite";
import Vue from "@vitejs/plugin-vue";

export default defineConfig({
  plugins: [
    VueMacros({
      plugins: {
        vue: Vue(),
      },
    }),
  ],
});

对于 TypeScript 项目,tsconfig.json需要进行额外配置:

{
  "compilerOptions": {
    "types": ["unplugin-vue-macros/macros-global"]
  }
}

核心 API

defineOptions(Vue 3.3 默认支持了该功能)

defineOptions允许直接在内部声明组件选项

defineSlots(Vue 3.3 默认支持了该功能)

使用 defineSlots 可以在 

defineProps

使用 $defineProps 可以正确地解构 props 的类型

definePropsRefs

从 defineProps 中将返回 refs 而不是 reactive 对象,可以在不丢失响应式的情况下解构 props。

defineRender

使用 defineRender 可以直接在 

shortVmodel

v-model 的语法糖。直接通过特定符号('::' | '$' | '*')代替 v-model。默认使用 $ 符号


  
  
  
  

总结

除此之外,Vue Macros 还提供了很多其他的宏或 语法糖 可供大家使用。但是需要注意的是,目前有些 实验性质 的功能需要注意谨慎使用。

相关文章

JavaScript2024新功能:Object.groupBy、正则表达式v标志
PHP trim 函数对多字节字符的使用和限制
新函数 json_validate() 、randomizer 类扩展…20 个PHP 8.3 新特性全面解析
使用HTMX为WordPress增效:如何在不使用复杂框架的情况下增强平台功能
为React 19做准备:WordPress 6.6用户指南
如何删除WordPress中的所有评论

发布评论