webpack 项目升级成vite项目

本文详细描述了如何将项目从Webpack升级到Vite,包括调整文件结构、修改配置、处理require导入和环境变量的迁移。

将webpack升级成vite得步骤:

1.public/index.html 移动到项目根目录,把文件中的 %PUBLIC_URL% 去掉
// %PUBLIC_URL%就是指向对应的public文件夹的绝对路径
 2.把 src/index.js 入口文件 ,改成 src/main.ts ,并在 index.html 文件中引入
    <script type="module" src="/src/main.ts"></script>
 3.整理一下 package.json , 删除不需要的依赖,
    如 eslint, babel, webpack,各种 loader 和 plugin 等依赖,
    修改 scripts, 启动以及打包命令  vue-cli-service serve ==>vite ;vue-cli-service build ==>vite build
    修改 devDependencies , 添加vite( "vite": "^2.4.2",
4.删除 node_modules 文件夹,删除 yarn.lock package-lock.json ,并重新安装依赖
  5.删除 vue.config,以及包含了一些 webpack 的配置和启动脚本 ,如果 你的项目没有,可以忽略
6.在根目录新建 vite.config.js 配置文件,迁移配置

7.由于 vite 不支持 require() 导入, 你需要找到你项目中 
全部的 require 函数进行手工修改,比如动态图片:
 require(`./images/device-header-${index + 1}.png`)改成
 new URL(`./images/device-header-${index + 1}.png`, import.meta.url).href;
如果你使用了 require.context 一次导入多个文件:
const modulesContext = require.context('../../views', true, /\.routes\.ts$/)改成
const modulesContext = import.meta.globEager('../../views/**/*.routes.ts')
8.有的项目中使用了环境变量判断 
如 process.env.NODE_ENV === 'development' 
在node环境defineConfig({mode}=>{mode})
在前端环境import.meta.env
环境变量的的修改:VUE_APP_XX ==> VITE_XX
### 迁移项目设置和配置 迁移从 WebpackVite 主要涉及几个方面:安装Vite、调整构建工具链以及更新依赖项。对于大多数现代前端应用而言,此过程相对简单。 #### 安装 Vite 并初始化项目结构 为了开始迁移,在现有项目根目录下执行命令来安装 Vite: ```bash npm install vite --save-dev ``` 如果希望创建一个新的基于当前项目Vite 版本,则可以考虑使用 `create-vite` 脚手架工具快速搭建基础环境[^1]。 #### 更新依赖关系 检查 package.json 文件中的 devDependencies 和 dependencies 部分,删除不再需要的 Webpack 及其插件,并替换为适用于 Vite 的替代方案。通常情况下,许多针对特定框架(如 React 或 Vue)优化过的模板可以直接兼容 Vite,减少了额外的工作量[^2]。 #### 修改入口文件路径 由于两者之间存在差异,可能需要更改 HTML 中引入 JavaScript/CSS 文件的方式。例如,在 Webpack 中可能是通过 HtmlWebpackPlugin 自动生成链接标签;而在 Vite 下,默认会读取 public/index.html 来加载资源。因此建议手动编辑该文件以适应新的开发模式[^3]。 #### 处理别名和其他高级特性 Webpack 提供了一些方便的功能比如模块解析别名 (@ 表示 src/) ,这些功能同样可以在 Vite 中实现。只需要在 vite.config.js 中适当配置 alias 字段即可达到相同效果。另外像热重载(HMR),代码分割等功能也几乎无需改动就能正常工作于 Vite 上面[^4]。 ```javascript // vite.config.js 示例 import { defineConfig } from 'vite' export default defineConfig({ resolve: { alias: [ { find: '@', replacement: '/src' } ] }, }) ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值