当前位置: 代码迷 >> 综合 >> 将vue2+webpack 开发环境转为vite
  详细解决方案

将vue2+webpack 开发环境转为vite

热度:135   发布时间:2023-09-22 01:14:57.0

文章目录

    • 步骤
      • 1、安装vite相关的包
      • 2、新建vite.config.js
      • 3、index.html引入main.js
      • 4、main.js引入App.vue方式调整
      • 5、调整自定义模块、路由引入方式:require -> import、export default
      • 6、script添加命令
    • 参考资料

webpack打包项目过大,慢且容易内存溢出。哭唧唧

步骤

当前只是vite的开发环境踩坑,项目目前依旧保持webpack打包
vite需要node版本为12及以上,当前 v12.12.0

1、安装vite相关的包

npm install vite -D
npm install @vue/compiler-sfc -D
npm install vite-plugin-vue2 -D

2、新建vite.config.js

proxy 代理 rewrite而非pathWrite;cjs2esmVitePlugin 包将 commonjs 转化为 es module;resolve.extensions中添加对应后缀

import {defineConfig} from 'vite'
import {createVuePlugin} from 'vite-plugin-vue2'
import {resolve} from 'path'
import { cjs2esmVitePlugin } from 'cjs2esmodule'function pathResolve(dir) {return resolve(process.cwd(), '.', dir)
}export default defineConfig({server: {port: '7010',proxy: {'/user': { target: 'http://localhost:8051/',secure: true,changeOrigin: true,rewrite: path => path.replace(/^\/user/, 'user') // 路由这里vite用的是rewrite而非pathWrite,需注意调整},}},plugins: [createVuePlugin({vueTemplateOptions: {}}),cjs2esmVitePlugin(), // 将 commonjs 转化为 es module],resolve: {// 文件后缀省略导致页面报错404(例:vue文件引入时,webpack只需要文件名),在vite.config.js配置resolve.extensions中添加对应后缀,vite默认有['.mjs', '.js', '.ts', '.jsx', '.tsx', '.json']。extensions: ['.vue', '.mjs', '.js', '.ts', '.jsx', '.tsx', '.json'],alias: {// vue2项目别名一般都是@,vue3中一般使用/@/, 为方便使用'@': resolve('src')}}
})

3、index.html引入main.js

<script type="module" src="/src/main.js"></script>

4、main.js引入App.vue方式调整

new Vue({el: '#app',router,store,render: h => h(App)// template: '<App/>',// components: {//   App// }
});

5、调整自定义模块、路由引入方式:require -> import、export default

路由有三种动态引入方式,采用import方式

// component: resolve => require(['@/mods/voucher/container_community.vue'], resolve), // 导航component: () => import(/* webpackChunkName: "container_community" */ '@/mods/voucher/container_community.vue'),

开发时,有一些组件引入公共文件require方式,调整为import引入

6、script添加命令

"vite": "vite",
"debug": "vite --debug", // 刚开始切换的时候还是很需要debug的

参考资料

Vue2老项目使用vite2升级
动态路由多种方式