Vite 默认打包结果比较现代,有一定概率产生 js 的语法兼容性问题。Vite 默认在build.target
中处理结果的目标版本。但是经观察似乎只会处理用户代码,并不会处理依赖中的不兼容问题,所以需要额外配置来做转换。这里的解决方案是使用@vite/plugin-legacy
插件。
安装
1 | npm install "@vitejs/plugin-legacy@4" -D |
依赖大版本需要与vite
大版本保持一致,本文假定vite@^4
。
时代变了,ESLint 更新到9.x
之后,废弃了部分对格式的规则,只保留了对语法的校验。所以如果需要 ESLint 自动化格式,需要安装额外的插件以及配置。
本文适用 eslint >= 9.0.0
本文包括 vue + typescript 的配置
参考package.json
配置
1 | { |
图标库地址 https://iconify.design/,集合了市面上众多知名图标库,如 FontAwesome, Material Design Icons, Ionicons 等。
本质 SVG 图标,支持动态导入
v-model
语法糖能够实现 Vue 中父组件与子组件之间的双向数据绑定。
很惊讶地发现在最近的 Vue 版本中又得到了更新,似乎变得好用了些。
1 | <!-- Child.vue --> |
1 | <!-- Parent.vue --> |
使用宏 defineModel()
来产生一个双向绑定的变量。
如果是多个变量:
defineModel('foo')
与 defineModel('bar')
v-model:foo="val1"
与 v-model:bar="val2"