一篇文章说清 webpack、vite、vue-cli、create-vue 的区别

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了一篇文章说清 webpack、vite、vue-cli、create-vue 的区别相关的知识,希望对你有一定的参考价值。

参考技术A 先看这个表格:

是不是有了一个整体的感觉?我们再来详细的看一下。

官网: https://cli.vuejs.org/zh/index.html

vue-cli 是 Vue 早期推出的一款脚手架,使用 webpack 创建 Vue 项目,可以选择安装需要的各种插件,比如 Vuex、VueRouter等。

vue-cli 用于创建 vue2 的项目;
@vue/cli 用于创建 vue3 的项目,当然也支持 vue2。

使用起来还是比较繁琐的,首先要安装脚手架,然后使用 vue create hello-world 创建项目,具体的就不介绍了。

官网: https://staging-cn.vuejs.org/guide/quick-start.html#with-build-tools

create-vue 是 Vue3 的专用脚手架,使用 vite 创建 Vue3 的项目,也可以选择安装需要的各种插件,使用更简单。

然后我们可以选择需要的各种插件:

官网: https://cn.vitejs.dev/

使用 vite 不仅可以创建 vue 的项目,而且可以创建 react 等项目,只是需要手动安装第三方插件,有点麻烦。

目前支持的模板预设如下:

官网: https://rollupjs.org/guide/en/

rollup 是一种打包工具,特点就是,打的包非常精简,体积小。
官网是英文的,中文资料也比较少,不过好在常规用法可以参考 vite的官网。

尤雨溪在知乎的一次回答( https://www.zhihu.com/question/477139054/answer/2156019180 )里提到:

webpack 是一个全能选手,啥都能干,只是有点复杂,对新手不太友好。
Rollup 是后起之秀,打包更简洁。
vite 把 rollup 变成了“开袋即食”,便于新手入门。
create-vue 基本取代了 vue-cli,除非你想创建 vue2 的项目。

所以,想创建一个 vue3 的项目,首选 create-vue,非常方便快捷,建立的项目也可以统一风格。

vite创建项目,cra创建项目,vue-cli创建项目

各脚手架区别

各脚手架区别

vitecreate-react-appvue-cli
适用react/vue都可用只适用于react只适用于vue
基于基于rollup打包基于webpack打包基于webpack打包
创建项目npm create vite@latest 项目名称npx create-react-app 项目名称 --template typescriptvue create 项目名称
修改配置在vite.config.js/ts修改三种方式,具体看下文在vue.config.js修改
预编译器只用引入sass/less,不用管loader,很方便默认配置了sass,无lesssass/less都需要自己安装
svg封装vite-plugin-svg-icons(主要就是rollup没有loader一说)svg-sprite-loadersvg-sprite-loader

vite脚手架

基于rollup打包,vue、react都可以通用。很方便,预计会成为一种趋势 (但是作为micro-app微前端的子应用,现在问题还很多)

create-react-app脚手架

方式一:
	git操作:到 commit 这个步骤
	npm eject :解析所有webpack配置
	发现缺点:webpack无关依赖太多太杂,config配置太杂,而且解包后不可逆。(所以不推荐。只能作为参考)
方式二:
	安装依赖:react-app-rewired customize-cra
	根路径:创建config-overrides.js文件
	修改打包命令:react-scripts 改为 react-app-rewired
	修改具体配置:使用customize-cra中提供的对应修改方法
	发现缺陷:起别名时,大部分组件导入没问题,部分组件导入居然会报错。会覆盖配置,
	比如自带的less需要重新配置,而且按他的方式配置居然会报错。(所以不推荐。各种报错花里胡哨)
方式三:
	安装依赖:@craco/craco
	根路径:创建craco.config.js文件
	修改打包命令:react-scripts 改为 craco
	修改具体配置:使用craco中提供的对应修改方法
	发现缺陷:会覆盖配置(推荐!!!)
	具体配置官网: https://craco.js.org/docs/configuration/getting-started/

vue-cli脚手架

基于webpack,vue2 vue3都能用,vue2一般都用vue-cli

以上是关于一篇文章说清 webpack、vite、vue-cli、create-vue 的区别的主要内容,如果未能解决你的问题,请参考以下文章

vite创建项目,cra创建项目,vue-cli创建项目

vite创建项目,cra创建项目,vue-cli创建项目

[译]尤雨溪: Vite 会取代 vue-cli 吗?

什么是vite

是什么让尤大选择放弃Webpack?面向未来的前端构建工具 Vite

是什么让尤大选择放弃Webpack?面向未来的前端构建工具 Vite