当我需要引入某个文件夹下面的所有js时
const modulesFiles = require.context('./modules', true, /.js$/) // webpack
const modulesFiles = import.meta.globEager("./module/*.js") // vite
环境变量
process.env.xx
需要改成import.meta.env.xx
且import.meta.env.xx
不能放在
vite.config.js
中
vite不允许省略.vue
后缀,不能配置extensions
必须加上emits
,表示自定义事件
所有的双向绑定中的value
需要改成modelValue
所有slot="title"
的写法都必须改成#title
,而且必须放置在template
标签里面
没有require,必须使用import
如果settings文件里面只有一个export,不能使用import { title } from '@/config/settings'
,必须使用import * as settings from '@/config/settings'; const { title } = settings;
process.env
需要修改成import.meta.env
类似VUE_APP_ENV
以 VUE
开头的都需要改成以 VITE
开头的
碰到没有export default
之类的问题,需要使用import * as xx from 'xxx'
的写法
element-plus的主题修改,可以直接通过修改--el开头的命名的样式值
element-plus的icon改成了新的形式,需要自己去看文档
element-plus的组件默认配置
const context = app._context;
context.components.ElDialog.props.closeOnClickModal.default = false;
context.components.ElCard.props.shadow.default = false;
context.components.ElLink.props.underline.default = false;
context.components.ElLink.props.type.default = 'primary';
context.components.ElDrawer.props.closeOnClickModal.default = false;
element-plus的组件中,涉及到.sync的写法都要改成v-model形式
比如ElDialog
组件的visible
要改成v-model
ElPagination
组件的current-page.sync
要改成v-model:current-page
checkAuth的全局配置报错,找不到$checkAuth,原因是app配置全局的时候放在了其他文件,且createApp
时没有传App组件,导致this始终获取不到
监听数组时必须加上deep:true
eslint报import/no-unresolved的错误
过程:用了@来做vite的alias,但是eslint一直提示报错
// eslintrc.js
module.exports = {
//之前的内容,这里已省略
settings: {
'import/resolver': {
alias: {
map: [
['@', './src'],
],
extensions: ['.ts', '.js', '.jsx', '.json', '.vue'],
},
},
},
};
安装alias的依赖
npm add eslint-import-resolver-alias -D
还存在的问题
1. 开发环境下,路由切换初始很慢,需要顺畅些
2. element的一些样式改了,需要自己去慢慢查
其实还有很多问题,只是很快就解决了,然后就忘了记录下来