我在vue2重生之vite加强版

1. 在不影响功能的情况下升级vuevite版本

  1. 升级vue2.7.16版本,npm install vue@2.7.16
  2. 升级vite4.0.0以上,npm install vite@4

升级插件的主要目的是:

  • ① 解决项目中通过import方式引入的json文件无法build成功;
  • @rollup/plugin-commonjs插件无法正确转换模块引用的问题,需要配置两个必要参数: {transformMixedEsModules: true, extensions: ['.js', '.vue']}

2. 把之前使用的vue插件替换一下

  1. vite-plugin-vue2替换成@vitejs/plugin-vue2
// - import { createVuePlugin } from 'vite-plugin-vue2'
// + import vue from '@vitejs/plugin-vue2'

// - createVuePlugin()
// + vue()
  1. dev时候需要转换commonjs的插件还是用@originjs/vite-plugin-commonjs
  2. 模板处理插件还是用vite-plugin-html

3. 其他问题

  1. vant组件样式按需加载的问题

    需要引入相关插件进行自动引入

  • 安装插件: npm i unplugin-auto-import unplugin-vue-components @vant/auto-import-resolver -D
  • 配置插件:
import AutoImport from 'unplugin-auto-import/vite'
import Components from 'unplugin-vue-components/vite'
import { VantResolver } from '@vant/auto-import-resolver'
{
  plugins: [AutoImport({ resolvers: [VantResolver()] }), Components({ resolvers: [VantResolver()] })]
}
  1. 如果之前项目中实例化vue使用的是下面这种方式,有两种方案进行改造
import App from './App.vue'
new Vue({
  el: '#app',
  components: { App },
  template: '<App />'
})
  • ① 修改实例化方式使用render函数
import App from './App.vue'
new Vue({
  render: h => h(App)
}).$mount('#app')
  • ② 在vite.config.js中配置vue引入的指向
import path from 'path'
{
  resolve: {
    alias: [{ find: 'vue', replacement: path.resolve(__dirname, 'node_modules/vue/dist/vue.esm.js') }]
  }
}

相关推荐

  1. vue2vite加强

    2024-07-21 20:26:05       16 阅读
  2. 速盾:做高防cdn

    2024-07-21 20:26:05       22 阅读
  3. 从零开始学前后端——Week01

    2024-07-21 20:26:05       40 阅读
  4. 从零开始学前后端——Week02

    2024-07-21 20:26:05       44 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-21 20:26:05       52 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-21 20:26:05       54 阅读
  3. 在Django里面运行非项目文件

    2024-07-21 20:26:05       45 阅读
  4. Python语言-面向对象

    2024-07-21 20:26:05       55 阅读

热门阅读

  1. 2024.7.20 暑期训练记录(6)

    2024-07-21 20:26:05       16 阅读
  2. 调用第三方接口-OkHttpClient

    2024-07-21 20:26:05       19 阅读
  3. C Prinmer Plus笔记第1-6章

    2024-07-21 20:26:05       18 阅读
  4. MySQL8的备份方案——差异备份(CentOS)

    2024-07-21 20:26:05       16 阅读
  5. C语言——数组指针

    2024-07-21 20:26:05       20 阅读
  6. 【Golang 面试基础题】每日 5 题(一)

    2024-07-21 20:26:05       21 阅读
  7. npm小记

    2024-07-21 20:26:05       16 阅读
  8. 【busybox记录】【shell指令】df

    2024-07-21 20:26:05       20 阅读
  9. C语言之封装,继承,多态

    2024-07-21 20:26:05       23 阅读
  10. 【广告&推荐】首选积分墙:试玩星shiwanxing.com

    2024-07-21 20:26:05       18 阅读
  11. 大模型的短期记忆和长期记忆各自的使用场景

    2024-07-21 20:26:05       20 阅读
  12. 深入探索Flutter中的状态管理:使用Provider库

    2024-07-21 20:26:05       17 阅读
  13. 认识一下哈希函数

    2024-07-21 20:26:05       19 阅读
  14. 在 CentOS-Stream-9 中使用 network 代替 NetworkManager

    2024-07-21 20:26:05       16 阅读