vitejs/plugin-vue插件

源文档:地址

注意:从vue 3.2.13+和@vitejs/plugin-vue 1.9.0+开始,@vue/compiler-sfc不再需要作为对等依赖。

// vite.config.js
import vue from '@vitejs/plugin-vue'export default {plugins: [vue()],
}

为了支持JSX/TSX,还需要@vitejs/plugin-vue-JSX。

选项

export interface Options {include?: string | RegExp | (string | RegExp)[]exclude?: string | RegExp | (string | RegExp)[]isProduction?: boolean// options to pass on to vue/compiler-sfcscript?: Partial<Omit<SFCScriptCompileOptions,| 'id'| 'isProd'| 'inlineTemplate'| 'templateOptions'| 'sourceMap'| 'genDefaultAs'| 'customElement'| 'defineModel'>>template?: Partial<Omit<SFCTemplateCompileOptions,| 'id'| 'source'| 'ast'| 'filename'| 'scoped'| 'slotted'| 'isProd'| 'inMap'| 'ssr'| 'ssrCssVars'| 'preprocessLang'>>style?: Partial<Omit<SFCStyleCompileOptions,| 'filename'| 'id'| 'isProd'| 'source'| 'scoped'| 'cssDevSourcemap'| 'postcssOptions'| 'map'| 'postcssPlugins'| 'preprocessCustomRequire'| 'preprocessLang'| 'preprocessOptions'>>/*** Transform Vue SFCs into custom elements.* - `true`: all `*.vue` imports are converted into custom elements* - `string | RegExp`: matched files are converted into custom elements** @default /\.ce\.vue$/*/customElement?: boolean | string | RegExp | (string | RegExp)[]/*** Use custom compiler-sfc instance. Can be used to force a specific version.*/compiler?: typeof _compiler
}

资源URL处理

当@vitejs/plugin-vue编译SFC中的<template>块时,它还将遇到的任何资产URL转换为ESM导入。

例如,以下模板片段:

<img src="../image.png" />

与以下内容相同:

<script setup>
import _imports_0 from '../image.png'
</script><img :src="_imports_0" />

默认情况下,将转换以下标记/属性组合,并且可以使用template.transformAssetUrls选项进行配置。

{video: ['src', 'poster'],source: ['src'],img: ['src'],image: ['xlink:href', 'href'],use: ['xlink:href', 'href']
}

请注意,只有作为静态字符串的属性值才会被转换。否则,您需要手动导入资产,例如从“..”导入imgUrl/image.png'。

将选项传递给vue/compiler sfc的示例:

import vue from '@vitejs/plugin-vue'export default {plugins: [vue({template: {compilerOptions: {// ...},transformAssetUrls: {// ...},},}),],
}

转换自定义块的示例

import vue from '@vitejs/plugin-vue'
import yaml from 'js-yaml'const vueI18nPlugin = {name: 'vue-i18n',transform(code, id) {// if .vue file don't have <i18n> block, just returnif (!/vue&type=i18n/.test(id)) {return}// parse yamlif (/\.ya?ml$/.test(id)) {code = JSON.stringify(yaml.load(code.trim()))}// mount the value on the i18n property of the component instancereturn `export default Comp => {Comp.i18n = ${code}}`},
}export default {plugins: [vue(), vueI18nPlugin],
}

创建一个名为Demo.vue的文件,将lang=“yaml”添加到<i18n>块中,然后可以使用yaml的语法:

<template>Hello</template><i18n lang="yaml">
message: 'world'
fullWord: 'hello world'
</i18n>

消息安装在组件实例的i18n属性上,您可以这样使用:

<script setup lang="ts">
import Demo from 'components/Demo.vue'
</script><template><Demo /> {{ Demo.i18n.message }}<div>{{ Demo.i18n.fullWord }}</div>
</template>

 使用Vue SFCs作为自定义元素

需要vue@^3.2.0&@vitejs/plugin vue@^ 1.4.0

Vue 3.2引入了defineCustomElement方法,该方法适用于SFCs。默认情况下,在构建过程中,会提取SFC内的<style>标记并将其合并到CSS文件中。但是,当运送自定义元素库时,可能需要将样式内联为JavaScript字符串,并将其注入自定义元素的影子根中。

从1.4.0开始,以*.ce.vue结尾的文件将以“自定义元素”模式编译:其<style>标记被编译成内联的CSS字符串,并作为其styles属性附加到组件:

import { defineCustomElement } from 'vue'
import Example from './Example.ce.vue'console.log(Example.styles) // ['/* css content */']// register
customElements.define('my-example', defineCustomElement(Example))

请注意,在自定义元素模式中,不需要使用<style-scoped>,因为CSS已经在shadow DOM中确定了作用域。

customElement插件选项可用于配置行为:

{customElement:true}将以自定义元素模式导入所有*.vue文件。
使用字符串或正则表达式模式更改文件应作为自定义元素加载的方式(此检查在包含和排除匹配之后应用)。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/40548.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

拓展欧几里得和裴蜀定理

裴蜀定理&#xff08;或贝祖定理&#xff09;说明了对任何整数a、b和它们的最大公约数d&#xff0c;关于未知数x和y的线性不定方程&#xff08;称为裴蜀等式&#xff09;&#xff1a;若a,b是整数,且gcd(a,b)d&#xff0c;那么对于任意的整数x,y,axby都一定是d的倍数&#xff0c…

SEO之快速网站诊断(二)

初创企业搭建网站的朋友看1号文章&#xff1b;想学习云计算&#xff0c;怎么入门看2号文章谢谢支持&#xff1a; 1、我给不会敲代码又想搭建网站的人建议 2、新手上云 &#xff08;接上一篇。。。。&#xff09; 4、外部链接 Google 的link:指令非常不准确&#xff0c;基本不…

【掌握C++ string 类】——【高效字符串操作】的【现代编程艺术】

专栏&#xff1a;C学习笔记 上一篇&#xff1a;【C】——【 STL简介】——【详细讲解】 1. 为什么要学习 string 类&#xff1f; 1.1 C 语言中的字符串 在 C 语言中&#xff0c;字符串是以 \0 结尾的字符集合。如下所示&#xff1a; #include <stdio.h>int main() {c…

Postman工具基本使用

一、安装及基本使用 安装及基本使用参见外网文档&#xff1a;全网最全的 postman 工具使用教程_postman使用-CSDN博客 建议版本&#xff1a;11以下&#xff0c;比如10.x.x版本。11版本以后貌似是必须登录使用 二、禁止更新 彻底禁止postman更新 - 简书 host增加&#xff1…

【Linux进阶】Linux目录配置,FHS

在了解了每个文件的相关种类与属性&#xff0c;以及了解了如何修改文件属性与权限的相关信息后&#xff0c;再来要了解的就是&#xff0c;为什么每个Linux发行版它们的配置文件、执行文件、每个目录内放置的东西&#xff0c;其实都差不多&#xff1f;原来是有一套标准依据&…

uniapp+vue3+echarts编写微信小程序

uniappvue3echarts编写微信小程序 记录一下自己uniapp使用echarts开发图表&#xff0c;之前网上找了很多&#xff0c;本以为应该是挺常见的使用方式&#xff0c;没想到引入之路居然这么坎坷&#xff0c;在Dcloud插件市场&#xff0c;使用最多的&#xff1a;echarts-for-wx 但是…

vue---基本原理(二)

1、slot的基础理解 slot又名插槽&#xff0c;是vue的内容分发机制&#xff0c;组件内部的模板引擎使用slot元素作为承载分发的出口。是子组件的一个模板标签元素&#xff0c;而这一个标签元素是否显示&#xff0c;以及怎么显示&#xff0c;是由父元素控制的。slot又分为默认插槽…

用Python制作动态钟表:实时显示时间的动画

文章目录 引言准备工作前置条件 代码实现与解析导入必要的库初始化Pygame绘制钟表函数主循环 完整代码 引言 动态钟表是一种直观且实用的UI元素&#xff0c;能够实时显示当前时间。在这篇博客中&#xff0c;我们将使用Python创建一个动态钟表&#xff0c;通过利用Pygame库来实…

React、JSX简介、渲染列表、基础和复杂的条件渲染

目录 一、简介 1、搭建环境 2、回到项目&#xff08;VScode&#xff09; 3、项目核心渲染路径 4、网站资料&#xff08;启动项目的方法&#xff09; 二、JSX 三、实现渲染列表 四、实现条件渲染 五、实现复杂条件渲染 一、简介 1、搭建环境 npx creat-react-app reac…

YUV 颜色编码详解

YUV 简介 YUV是被欧洲电视系统所采用的一种颜色编码方法&#xff08;属于PAL&#xff09;&#xff0c;是PAL和SECAM模拟彩色电视制式采用的颜色空间。在现代彩色电视系统中&#xff0c;通常采用三管彩色摄影机或彩色CCD摄影机进行取像&#xff0c;然后把取得的彩色图像信号经分…

CC6利用链分析

CC1的两条利用链&#xff0c;在JDK 8u71之后已修复&#xff0c;不可利用。 学一下不受版本限制的CC6利用链 分析版本 Commons Collections 3.2.1 JDK 8u65 环境配置参考JAVA安全初探(三):CC1链全分析 分析过程 我的Github主页Java反序列化学习同步更新&#xff0c;有简单…

java.lang.IllegalArgumentException: pointerIndex out of range

问题分析 这是ViewPager自身对于多点触控处理的bug&#xff0c;该bug可以追溯到Android4.4。该问题会导致应用崩溃。根本原因在于没有调用 super.onInterceptTouchEvent(); 造成 mActivePointerIdactivePointerIndex的值不能正确获取。导致父类 onTouchEvent取值错误&#xff…

【WEB前端】---HTML---结构---笔记

目录 1.标签---单标签和双标签 1.1单标签 1.2双标签 2.基本结构标签 2.1HTML标签 2.2文档头部标签 2.3文档标题标签 2.4文档的主题标签 3.常用的标题标签 (n∈[1,6]) 4.段落标签 5.换行标签 6.文本格式化标签 6.1粗体 6.2倾斜 6.3删除线 6.4下划线 7.div和spa…

服务器工具集合推荐

推荐一个朋友开源的服务器运维整合工具,目前的功能包括: ddns&#xff0c;rdp、ssh终端、ftp、http代理&#xff0c;支持在线文件编辑&#xff0c;文件管理&#xff0c;docker&#xff0c;进程&#xff0c;系统监控、wol唤醒&#xff0c;电脑远程开机&#xff0c;点对点&#…

[Qt] Qt for android, gradle-8.3-bin.zip (No such file or directory)

前言&#xff1a; android 工程需要 gradle 作为打包工具&#xff0c;Qt for android 如果想要打包 apk 同样需要使用 gradle&#xff0c;但是 包括 Android studio 在内的诸多 Android IDE 工具都没有自带的 gradle 工具&#xff0c;可能是因为 gradle 的版本迭代较快&#x…

深度分析和对比本地大语言模型Ollama和LocalAI

前言 在充满活力的人工智能&#xff08;AI&#xff09;世界中&#xff0c;开源工具已成为开发人员和组织利用LLM&#xff08;大型语言模型&#xff09;力量的重要资源。这些工具通过提供对高级LLM模型的访问权限&#xff0c;使各种用户能够构建创新和前沿的解决方案。在众多可…

AI工具大盘点!打工人必备的几款效率神器!

前言 在这个AI技术大放异彩的时代&#xff0c;找到合适的工具&#xff0c;可以让我们的工作效率翻倍。作为一名AI工具测评博主&#xff0c;我今天要向大家推荐几款我亲自体验并认为非常实用的AI工具。它们不仅能够提升你的工作效率&#xff0c;还能让你在职场上更加得心应手。…

为本地化准备营销材料的几个步骤

为本地化准备营销材料涉及几个关键步骤&#xff0c;以确保内容在文化上合适、语言上准确&#xff0c;并与目标受众相关。以下是五个基本步骤&#xff1a; 进行市场调查 了解目标市场至关重要。进行深入研究&#xff0c;以收集有关目标地区受众的文化细微差别、消费者行为、地…

Python异步IO之协程

参考自仓库https://github.com/SparksFly8/Learning_Python/tree/master/coroutine 协程&#xff08;coroutine&#xff09;在多任务协作中体现的效率又极为的突出。Python中执行多任务还可以通过多进程或一个进程中的多线程来执行&#xff0c;但两者之中均存在一些缺点&#…

【机器学习】机器学习与图像识别的融合应用与性能优化新探索

文章目录 引言第一章&#xff1a;机器学习在图像识别中的应用1.1 数据预处理1.1.1 数据清洗1.1.2 数据归一化1.1.3 数据增强 1.2 模型选择1.2.1 卷积神经网络1.2.2 迁移学习1.2.3 混合模型 1.3 模型训练1.3.1 梯度下降1.3.2 随机梯度下降1.3.3 Adam优化器 1.4 模型评估与性能优…