前端项目,个人笔记(四)【Vue-cli 迁移 Vite 】

目录

1、引入

2、安装vite脚手架

2.1、下载vite

2.2、创建vue项目

3、项目迁移

[3.1、vue.config.js -> vite.config.js](#3.1、vue.config.js -> vite.config.js)

3.2、项目中引入阿里矢量库图标

3.3、迁移后,项目的样式变了


1、引入

Vue CLI 是 Vue.js 的官方脚手架,用于快速创建和管理 Vue.js 项目。但是,出现了一个新的工具 Vite,它号称比 Vue CLI 更快、更轻量级。Vite 通过利用 ES6 模块的本地导入特性,让开发者可以在开发时更快地编译和构建项目。

如果你已经使用 Vue CLI 进行开发,想要尝试 Vite 的话,那么本文就是为你准备的。本文将介绍如何将现有的 Vue CLI 项目迁移到 Vite 中。


2、安装vite脚手架

2.1、下载vite

终端输入:npm init vue@latest

2.2、创建vue项目

运行界面:


3、项目迁移

将你原有的项目的文件复制过去,该添加的插件、依赖添加好~

下面只列一些在迁移时有区别的地方:

3.1、vue.config.js -> vite.config.js

vite.config.js:

复制代码
import { fileURLToPath, URL } from 'node:url'

import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
// element-plus 按需引入插件
import AutoImport from 'unplugin-auto-import/vite'
import Components from 'unplugin-vue-components/vite'
import { ElementPlusResolver } from 'unplugin-vue-components/resolvers'

// https://vitejs.dev/config/
export default defineConfig({
  plugins: [
    vue(),
    // element-plus配置插件
    AutoImport({
      resolvers: [ElementPlusResolver()],
    }),
    Components({
      resolvers: [
        // 1. 配置elementPlus采用sass样式配色系统
        ElementPlusResolver({ importStyle: "sass" }),
      ],
    }),
  ],
  resolve: {
    alias: {
      '@': fileURLToPath(new URL('./src', import.meta.url))
    }
  },
  css: {
    preprocessorOptions: {
      scss: {
        // 自动导入定制化样式文件进行样式覆盖
        additionalData: `
          @use "@/styles/element/index.scss" as *;
          @use "@/styles/var.scss" as *;
        `,
      }
    }
  }
})

上述我们可以看到,在vue-cli项目中,引入定制化样式时,需要在main.js中全量引入,而在vite项目中,可以 在vite.config.js中导入~

3.2、项目中引入阿里矢量库图标

在vue-cli中引入矢量库,我们是把矢量库中的css代码复制到一个css文件中,然后main.js中引入这个文件,会比较麻烦,而在vite项目中,我们则可以直接复制css链接,放在项目中的index.html文件中:

3.3、迁移后,项目的样式变了

在浏览器中查看#app的样式:

如果是上述这样的,那就是vite自带的app样式,你可以把他去掉,在main.js中:

这样就可以了~

以上就是这些啦~

相关推荐
spionbo15 分钟前
Vue 表情包输入组件实现代码及完整开发流程解析
前端·javascript·面试
全宝15 分钟前
✏️Canvas实现环形文字
前端·javascript·canvas
lyc23333316 分钟前
鸿蒙Core File Kit:极简文件管理指南📁
前端
我这里是好的呀16 分钟前
全栈开发个人博客12.嵌套评论设计
前端·全栈
我这里是好的呀17 分钟前
全栈开发个人博客13.AI聊天设计
前端·全栈
金金金__18 分钟前
Element-Plus:popconfirm与tooltip一起使用不生效?
前端·vue.js·element
lyc23333319 分钟前
小L带你看鸿蒙应用升级的数据迁移适配📱
前端
用户268128510666924 分钟前
react-pdf(pdfjs-dist)如何兼容老浏览器(chrome 49)
前端
阿怼丶25 分钟前
🚀 如何在内网中运行 Cesium?基于 NestJS 构建离线地形与影像服务
前端·gis