欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 汽车 > 新车 > vue2将webpack改为vite

vue2将webpack改为vite

2025/4/25 0:52:00 来源:https://blog.csdn.net/weixin_38103152/article/details/143797207  浏览:    关键词:vue2将webpack改为vite

1、修改环境变量:之前vue-cli使用的是VUE_APP开头的环境变量,vite使用的是VITE_开头的环境变量,所以需要修改环境变量。

2、修改环境变量引用:vue-cli使用的是process.env而vite使用的是import.meta.env。

3、index.html文件改动:

    1、vite默认会从根目录找index.html文件,所以确保index.html在根目录下。

    2、如果有使用HtmlWebpackPlugin插件,在vite中需要使用vite-plugin-html插件。

4、修改page.json文件:

    1、运行命令"dev": "vite", 打包命令"build": "vite build"

    2、删除core.js包、删除 "@vue/cli-*"相关包、删除sass-loader包、删除babel-*相关包

    3、安装 "@vitejs/plugin-vue": "^1.6.1"、"vite": "^2.9.18"、"vite-plugin-vue2": "^1.9.0",

5、删除魔法注解:/* webpackChunkName: "XXXX" */,vite中魔法注释不生效,也可以不删除

6、新增vite.config.js文件:基础配置:

import { defineConfig } from 'vite'
import { createVuePlugin as vue } from "vite-plugin-vue2" // 重要-vue2需要使用const path = require("path")
export default defineConfig({plugins: [vue()],resolve: {alias: {"@": path.resolve(__dirname, "./src"),},extensions: ['.mjs', '.js', '.ts', '.jsx', '.tsx', '.json', '.vue'],},esbuild: {// 此配置是为了在vue中使用jsxjsxFactory: "h",jsxFragment: "Fragment",jsxInject: "import { h } from 'vue';",}
})

7、删除babel.config.js

8、jsx使用需要在script标签中添加lang="jsx",如:<script lang="jsx">

9、批量引入文件:webpack中使用require.context()批量引入文件,vite中使用import.meta.glob()批量引入文件。

10、全局scss文件:在vite.config.js中配置scss全局样式,且不能再在vue文件中使用import引入,还没找到怎么在template中使用全局样式的方法,如:   

css: {preprocessorOptions: {scss: {javascriptEnabled: true,additionalData: `@import '文件路径';@import '文件路径';`}}
}

11、将使用的node_modules里使用的包单独打包出来: 

build: {"minify":false,"rollupOptions":{"output":{"manualChunks":(id)=>{if(id.includes('node_modules')){return 'vendor';}}}}}

参考文档:https://vueschool.io/articles/vuejs-tutorials/how-to-migrate-from-vue-cli-to-vite/

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词