vue2 升级为 vite 打包

VUE2 中使用 Webpack 打包、开发,每次打包时间太久,尤其是在开发的过程中,本文记录一下 VUE2 升级Vite 步骤。
在这里插入图片描述

安装 Vue2 Vite 依赖

dev 依赖

@vitejs/plugin-vue2": "^2.3.3
@vitejs/plugin-vue2-jsx": "^1.1.1
vite": "^5.0.0
#选装,自动添加后缀
vite-plugin-resolve": "^2.5.2

npm 脚本

  "scripts": {
    "dev": "vite",
    "build": "vite build",
    "serve": "vite preview"
  },

vite.config.js

import { defineConfig } from 'vite';
import vue from '@vitejs/plugin-vue2';
import vue2Jsx from '@vitejs/plugin-vue2-jsx';

import path from 'path';

export default defineConfig({
  plugins: [vue(), vue2Jsx(),
    

    {
      name: 'resolve-file-extension',
      resolveId(source, importer) {
        // Skip absolute paths or non-relative imports
        if (!importer || !source.startsWith('.') || source.includes('?')) {
          return null;
        }

        const extensions = ['.vue', '.js', '.ts', '.jsx', '.tsx']; // Add supported extensions
        for (const ext of extensions) {
          try {
            const resolvedPath = require.resolve(source + ext, { paths: [importer] });
            return resolvedPath;
          } catch (e) {
            continue;
          }
        }
        return null;
      },
    },
  ],
    resolve: {
      extensions: ['.vue', '.js', '.jsx', '.ts', '.tsx'],
    alias: {
      '@': path.resolve(__dirname, './src'), // Alias `@` to `src` directory
    },
    },
   
  server: {
    host: '0.0.0.0',
    port: 8080,
    open: true,
    proxy: {
      '/api': {
        target: 'http://localhost:8090/', // Target server for `/api` requests
        rewrite: (path) => path.replace(/^\/api/, '/'), // Remove `/api` prefix
        changeOrigin: true, // Handle CORS
      },
    },
    },
    css: {
        
    preprocessorOptions: {
      less: {
        modifyVars: {
          // Uncomment and define your custom LESS variables here
          // "primary-color": "#377DF6",
          // "link-color": "#377DF6",
        },
        javascriptEnabled: true, // Enable JavaScript in LESS
      },
    },
  },
  build: {
    sourcemap: process.env.NODE_ENV === 'development', // Source maps for development
  },
});

index.html

将 Index.html 从 public 移动到根目录下,与 webpack 相关的去掉。

<!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>TestTTT</title>
</head>

<body>
  <noscript>
    <strong>We're sorry,work properly without JavaScript enabled.
        Please enable it to continue.</strong>
  </noscript>
  <div id="app"></div>
  <script type="module" src="/src/main.js"></script>
  <!-- built files will be auto injected -->
</body>

</html>

jsx

如果你的项目中使用了 jsx,需要在 script 中制定 lang="jsx"

<script lang="jsx">
export default {
  props:["title", "open", "label"],
  data() {
    return {
    }
  },
}
</script>

总结

Vue2 升级 Vite 比较顺利,几点要注意的:

  • 用 Vite 5.0,jsx 插件只支持到 Vite 5.0
  • Webpack 语法要移除
  • 其他遇到问题,让豆包把代码修改为 Vite 方式即可

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/941986.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

[WASAPI]从Qt MultipleMedia来看WASAPI

[WASAPI] 从Qt MultipleMedia 来看WASAPI 最近在学习有关Windows上的音频驱动相关的知识&#xff0c;在正式开始说WASAPI之前&#xff0c;我想先说一说Qt的Multiple Media&#xff0c;为什么呢&#xff1f;因为Qt的MultipleMedia实际上是WASAPI的一层封装&#xff0c;它在是线…

springboot创建web项目

一、创建项目 二、导入依赖&#xff08;pom.xml&#xff09; <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0"xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schem…

springboot481基于springboot社区老人健康信息管理系统(论文+源码)_kaic

摘 要 如今社会上各行各业&#xff0c;都喜欢用自己行业的专属软件工作&#xff0c;互联网发展到这个时候&#xff0c;人们已经发现离不开了互联网。新技术的产生&#xff0c;往往能解决一些老技术的弊端问题。因为传统社区老人健康信息管理系统信息管理难度大&#xff0c;容错…

WebAPI编程(第一天,第二天)

WebAPI编程&#xff08;第一天&#xff0c;第二天&#xff09; day01 - Web APIs 1.1. Web API介绍 1.1.1 API的概念1.1.2 Web API的概念1.1.3 API 和 Web API 总结 1.2. DOM 介绍 1.2.1 什么是DOM1.2.2. DOM树 1.3. 获取元素 1.3.1. 根据ID获取1.3.2. 根据标签名获取元素1.3.…

什么是云+边+端?

什么是云边端&#xff1f; 云、边、端三级是现代计算架构中的一种分层模型&#xff0c;它将计算资源和数据处理分布在不同的层级上&#xff0c;以提高效率、降低延迟&#xff0c;并优化资源利用。 云端&#xff08;Cloud&#xff09;&#xff1a; 云端指的是集中式的数据中心…

Excel 列名称转换问题 Swift 解答

文章目录 摘要描述题解答案Swift 实现代码&#xff1a;题解代码分析示例测试及结果 时间复杂度空间复杂度总结未来展望参考资料 摘要 本篇文章将通过 Swift 编程语言解答一个常见的算法问题&#xff1a;给定一个整数 columnNumber&#xff0c;将其转换为 Excel 表中的列名称。…

【Linux庖丁解牛】—Linux第一个系统程序—进度条!

目录 前言&#xff1a; 1、回车与换行 历史背景 不同操作系统中的使用 标准输入输出函数 2、行缓冲区 3、进度条version1 4、进度条version2(模拟下载环境) 前言&#xff1a; 在实现进度条之前&#xff0c;这里我们要先铺垫两个概念——回车换行与行缓冲区。 1、回车与…

支付域——支付路由设计

摘要 本文深入探讨了支付路由系统的背景、核心作用、设计原则以及业界常见形态。文章详细解析了支付方式咨询、渠道咨询和渠道路由的概念&#xff0c;并介绍了支付路由的规则种类、交易参数、通道属性和常见筛选规则。进一步讨论了基于规则的渠道路由设计、自动化开关的渠道路…

Windows内核开发环境配置

SDK 软件开发工具包 r3用到的win32api 就是SDK WDK 驱动内核 r0用到的包 Previous WDK versions and other downloads - Windows drivers | Microsoft Learn sdk版本必须和wdk版本一致 驱动环境部署 #include <ntifs.h>NTSTATUS DriverUnload(PDRIVER_OBJECT pDriver) …

高强度螺栓等级划分

高强度螺栓的等级划分主要依据其性能等级&#xff0c;常见的等级有8.8级和10.9级。这些等级标号由两部分数字组成&#xff0c;分别表示螺栓材料的公称抗拉强度值和屈强比值。 8.8级高强度螺栓&#xff1a;表示螺栓杆的抗拉强度不小于800MPa&#xff0c;屈强比&#xff08;屈服强…

【VMware虚拟机】安装win10系统教程双机可ping通

目录 1、下载1.1、点击链接下载媒体创建工具&#xff1a;1.2、下载后得到MediaCreationTool_22H2.exe&#xff1a;1.3、获取ISO镜像 2、安装3、显示4、配置网络4.1、配置4.2、排查4.2.1、关闭防火墙4.2.2、增加路由 1、下载 Windows10微软官网下载链接: https://www.microsoft…

Jetson xavier 刷机安装教程

在对Jetson进行刷机过程&#xff0c;浏览了很多的相关教程&#xff0c;大部分教程并不全&#xff0c;而且按照步骤执行会出现许多奇奇怪怪的错误&#xff0c;为了避免大家踩坑&#xff0c;这里给出了完整的解决方法&#xff0c;希望能够提供帮助&#xff01; 首先大家需要准备…

41 stack类与queue类

目录 一、简介 &#xff08;一&#xff09;stack类 &#xff08;二&#xff09;queue类 二、使用与模拟实现 &#xff08;一&#xff09;stack类 1、使用 2、OJ题 &#xff08;1&#xff09;最小栈 &#xff08;2&#xff09;栈的弹出压入序列 &#xff08;3&#xf…

申请腾讯混元的API Key并且使用LobeChat调用混元AI

申请腾讯混元的API Key并且使用LobeChat调用混元AI 之前星哥写了一篇文章《手把手教拥有你自己的大模型ChatGPT和Gemini等应用-开源lobe-chat》搭建的开源项目&#xff0c;今天这篇文章教大家如何添加腾讯云的混元模型&#xff0c;并且使用LobeChat调用腾讯混元AI。 申请腾讯混…

物理层知识要点

文章目录 物理层接口的四大特性通信基础编码和调制&#xff08;1&#xff09;数字数据编码为数字信号&#xff08;2&#xff09;模拟数据编码为数字信号&#xff08;3&#xff09;常见调制方式&#xff08;3&#xff09;信道的极限容量 多路复用技术数据传输方式物理层下的传输…

第十五章 C++ 数组

C 支持数组数据结构&#xff0c;它可以存储一个固定大小的相同类型元素的顺序集合。数组是用来存储一系列数据&#xff0c;但它往往被认为是一系列相同类型的变量。 数组的声明并不是声明一个个单独的变量&#xff0c;比如 number0、number1、...、number99&#xff0c;而是声…

LabVIEW开发需要懂那些数学知识?

LabVIEW开发是一种图形化编程方法&#xff0c;广泛应用于工程和科学领域。在开发过程中&#xff0c;数学知识是不可或缺的&#xff0c;它不仅是分析和设计复杂系统的基础&#xff0c;还能提升开发效率和系统性能。下面将从应用需求、案例分析、介绍LabVIEW开发中所需的数学知识…

QT的前景与互联网岗位发展

qt是用来干什么的 --》桌面应用开发&#xff08;做电脑的应用程序&#xff0c;面对客户端&#xff09;。 主要用于开发跨平台的应用程序和用户界面&#xff08;UI&#xff09;。它是一个全面的C库集合&#xff0c;提供了构建软件应用所需的各种工具和功能。 客户端开发的重…

奇异值分解在图像压缩中的应用

奇异值分解&#xff08;SVD&#xff09;定理 奇异值矩阵 和A的大小相同都是mn主对角线元素&#xff1a;从大到小排列&#xff0c;称为奇异值其他位置0 例&#xff1a; 在这里&#xff0c;第1个矩阵和第3个矩阵为正交矩阵 中间的矩阵奇异值矩阵&#xff0c;奇异值7.7&#xf…

【vue】圆环呼吸灯闪烁效果(模拟扭蛋机出口处灯光)

效果图先发&#xff1a; 页面部分&#xff1a; <div ref"round" class"round"><div class"light" ref"light"/><div class"box"></div></div>js部分(控制圆环生成&#xff09;; setRound…