Vue3从Vue CLI转Vite

Vue CLI转Vite

背景

最近在做一个Vue3项目,然后每次写界面都需要import { ref } from 'vue',我就感觉很多余,于是就查了一些资料,'unplugin-auto-import'支持自动导入配置,网上当时大部分配置都是Vite+Vue3,很少看到Vue3+Vue CLI,于是就跟着转了。

更新依赖

  1. 移除Vue CLI相关依赖
npm uninstall @vue/cli-plugin-babel @vue/cli-plugin-eslint @vue/cli-plugin-router @vue/cli-plugin-vuex @vue/cli-service sass-loader core-js @babel/core @babel/eslint-parser
  1. 安装依赖
npm install @vitejs/plugin-vue" vite unplugin-auto-import --save-dev
  1. 删除babel.config.js文件,.eslintrc文件删除babel相关内容,升级eslint
npm update eslint@8 eslint-plugin-vue@8

更新文件

  1. 将vue.config.js改成vite.config.js
  2. 新增/修改内容

vite.config.js

import { defineConfig } from "vite"
import createVitePlugins from "./vite/plugins"
import path from "path"

// https://vitejs.dev/config/
export default defineConfig(({ mode, command }) => {
  return {
    plugins: createVitePlugins(),
    resolve: {
      // https://cn.vitejs.dev/config/#resolve-alias
      alias: {
        // 设置路径
        "~": path.resolve(__dirname, "./"),
        // 设置别名
        "@": path.resolve(__dirname, "./src")
      },
      // https://cn.vitejs.dev/config/#resolve-extensions
      extensions: [".mjs", ".js", ".ts", ".jsx", ".tsx", ".json", ".vue"]
    },
    // vite 相关配置
    server: {
      port: 5173,
      host: true,
      open: true,
      hmr: true
    },
    base: "/db-transfer/"
  }
})

vite/plugins/index.js

import vue from "@vitejs/plugin-vue"

import createAutoImport from "./auto-import"

export default function createVitePlugins() {
  const vitePlugins = [vue()]
  vitePlugins.push(createAutoImport())
  return vitePlugins
}

vite/plugins/auto-import.js

import autoImport from "unplugin-auto-import/vite"

export default function createAutoImport() {
  return autoImport({
    imports: ["vue", "vue-router"],
    dts: false
  })
}

移动index.html

Vite 的 index.html 文件放在项目的根目录,并且要做一些修改,修改完成后的内容如下

<!DOCTYPE html>
<html lang="">
  <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width,initial-scale=1.0">
    <link rel="icon" href="/favicon.ico">
    <title>db-transfer</title>
  </head>
  <body>
    <noscript>
      <strong>We're sorry but db-transfer doesn't work properly without JavaScript enabled. Please enable it to continue.</strong>
    </noscript>
    <div id="app"></div>
    <!-- built files will be auto injected -->
    <script type="module" src="/src/main.js"></script>
  </body>
</html>

更新脚本

  1. 修改package.json
{
  "scripts": {
    "dev": "vite",
    "build": "vite build",
    "preview": "vite preview",
    "lint": "eslint --ext .js,.vue --ignore-path .gitignore --fix src"
  }
}

这样npm run dev就可以成功启动了

参考

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值