vue.js

关注公众号 jb51net

关闭
首页 > 网络编程 > JavaScript > javascript类库 > vue.js > Vue打包工具(构建工具)和脚手架

Vue打包工具(构建工具)和脚手架过程

作者:xrkhy

文章介绍了Vue项目中Webpack和Vite的使用区别,Webpack需vue-cli全局安装,适合复杂场景;Vite更轻量快速,适合Vue3项目,并提到尤雨溪团队新推出的VoidZero技术布局

一、什么是Vue打包工具(构建工具)

在学习之前请确保你已经安装了node.js,且你的node.js版本在20以上。

比如我们的代码有ES6高级语法,TS语法,Less语法,Sass语法。这些直接在浏览器中跑,浏览器不认识。我们的以前的解决办法就是通过插件(Less)或者包(TS)把这些语法转为JS语法解决浏览器不认识这些语法的问题。

比如:我们的使用TS,Less一起开发开发,Less通过Easy Less插件生成对应css样式,Ts通过安装ts-node包执行tsc --init 指令会生成对应js语法,然后我们需要把生成的js文件和css文件整和到html中进行使用。这太麻烦有没有一种方式我们只需要下载对应的包,然后直接帮我们生成html+Css+JS的工具呢。

答案当然是有的:Vue打包工具(Webpack,Vite)。

二、Webpack和vue-cli

一般Vue2项目常用Webpack作为打包工具,vue-cli作为其脚手架。成熟稳定,适合复杂场景,兼容Vue3

下面使用vue-cli创建Webpack项目

2.1 全局安装脚手架

使用npm安装

# 不加版本号时默认会安装最新稳定版本
​​npm install -g @vue/cli

# 安装 Vue CLI 3.x 及以上版本
npm install -g @vue/cli@5.0.8  # 示例

# 安装 Vue CLI 2.x 版本(如 2.9.6)
npm install -g vue-cli@2.9.6    # 注意包名区别

卸载

npm uninstall -g @vue/cli  # 卸载 Vue CLI 3.x+  
npm uninstall -g vue-cli   # 卸载 Vue CLI 2.x(旧版) [3,6](@ref)

查看vue-cli脚手架版本

vue --version
# 输出结果:@vue/cli 5.0.8

注意 不同版本的脚手架创建的项目目录可能不一样。可指定vue-cli脚手架版本之后,再去创建。

2.2 创建项目

2.2.1 指定目录创建项目

基于 vue-cli 快速生成工程化的 Vue 项目:vue create 项目的名称

注意:我是基础vue-cli脚手架为5.0.8创建的,你最好也是安装5.0.8 否则和我的安装步骤可能不一样。

2.2.2 选择自定安装

vue create demo-first 
// 使用上下箭头改变下面三个选项  回车表示选中
Vue CLI v5.0.8
? Please pick a preset: (Use arrow keys)
  Default ([Vue 3] babel, eslint)  //这个是安装Vue 3
  Default ([Vue 2] babel, eslint)  //这个是安装Vue 2
> Manually select features         //这个是手动选择你要安装那个功能,一般选这个

2.2.3 选择你要安装的功能

上下箭头代表移动,空格代表选中,回车代表继续。

这里选中Babel 和CSS Pre-processors就行。

Vue CLI v5.0.8
? Please pick a preset: Manually select features
? Check the features needed for your project: (Press <space> to select, <a> to toggle all, <i> to invert selection, and
<enter> to proceed)
>(*) Babel   //这是解决js兼容性,必须安装                
 ( ) TypeScript
 ( ) Progressive Web App (PWA) Support  // 渐进式的web
 ( ) Router
 ( ) Vuex
 (*) CSS Pre-processors  //CSS预处理器  按下空格键前面小括号有个星号代表选中安装
 ( ) Linter / Formatter  // 先不选 这个是约束团队写代码的风格。如果不是规定风格就会报错
 ( ) Unit Testing
 ( ) E2E Testing

选项功能详解​​

Babel​​

​​TypeScript​​

​​Progressive Web App (PWA) Support​​

​​Router​​

Vuex​​

​​CSS Pre-processors​​

​​Linter / Formatter​​

​​Unit Testing​​

​​E2E Testing​​

2.2.4 选择安装vue的版本

选择2.x版本

? Choose a version of Vue.js that you want to start the project with
  3.x
> 2.x

2.2.5 选择css预处理器

下面全是css预处理器,选择sass即可

Vue CLI v5.0.8
? Pick a CSS pre-processor (PostCSS, Autoprefixer and CSS Modules are supported by default): (Use arrow keys)
> Sass/SCSS (with dart-sass)
  Less
  Stylus

2.2.6 选择配置文件的存储位置

? Where do you prefer placing config for Babel, ESLint, etc.? (Use arrow keys)
> In dedicated config files # 选这个独立配置
  In package.json

​​In dedicated config files(独立的配置文件)​​

​​含义​​:为每个工具(Babel、ESlint 等)创建单独的配置文件,例如:

​​特点​​:

​​In package.json(集成到 package.json)​​

​​含义​​:将配置直接写入 package.json文件的特定字段中,例如:

​​特点​​:

2.2.7 是否保存上面选项

如果我们保存就说明下一次还是和上面一样的选择就可以直接创建不需要在选择了。这里选择N

? Save this as a preset for future projects? (y/N)

可以在C:\Users\86184\.vuerc查看你的预设。如果不想要可以删除这个


2.2.8总结

2.3 运行​​



打开vscode的终端,执行一下指令

npm run serve   # 启动开发服务器(基于 webpack-dev-server)

2.4 打包

打包前在 vue.config.js中添加 publicPath: ‘./’,强制资源使用相对路径:

// vue.config.js
module.exports = {
  publicPath: './' // 关键配置
}

打开终端执行一下命令

npm run build   # 生产环境打包(输出到 dist/ 目录)


多了一个dist文件夹,这就是打包之后的东西。


我们双击index.html就可以运行了。

三、Vite和create-vue

一般Vue3项目常用Vite作为打包工具,create-vue作为其脚手架。开发体验快如闪电,配置更轻量,可兼容Vue2项目

下面使用create-vue创建Vite项目

3.1 一键创建项目​​(无需全局安装)

3.1.1 指定目录创建项目

基于 vue-cli 快速生成工程化的 Vue 项目:vue create 项目的名称

3.1.2执行指令

我使用的vite7.0.6版本

使用的create-vue脚手架版本是3.18.0。

可以通过指令npm view create-vue versions 查看create-vue脚手架有哪些版本

npm create vue # 等价于npm create vue@latest 显式指定最新版本
npm create vue@3.8.0 # @3.8.0明确指向的是 create-vue脚手架工具自身的版本

3.1.3 输入项目名称

3.1.4选择功能

*  请选择要包含的功能: (↑/↓ 切换,空格选择,a 全选,回车确认)
|  [ ] TypeScript
|  [ ] JSX 支持
|  [+] Router(单页面应用开发)
|  [ ] Pinia(状态管理)
|  [ ] Vitest(单元测试)
|  [ ] 端到端测试
|  [ ] ESLint(错误预防)
|  [ ] Prettier(代码格式化)

JSX 支持​​

​​TypeScript​​

Router(单页面应用开发)​​

​​Pinia(状态管理)​​

​​Vitest(单元测试)​​

​​端到端测试​​

ESLint(错误预防)​​

​​Prettier(代码格式化)​​

3.1.5 选择试验

截止到2025年8.11日 尤玉溪团队刚刚推出他们公司(voidzero)新推出的技术Oxlint和Rolldown-Vite。

这里可以不选直接回车。

​​3.2 安装依赖与启动​​

剩下的这些就是上面的vue2的一样了。

cd my-vite-project
npm install
npm run dev  # 冷启动 <1 秒(原生 ESM 按需加载)
npm run build  # 生产构建(Rollup 优化,输出 dist/)

四、总结

WebpackVite
是否需要全局安装需要.
安装 Vue CLI 3.x 及以上版本:npm install -g @vue/cli@5.0.8
安装 Vue CLI 2.x 版本(如 2.9.6):npm install -g vue-cli@2.9.6
可使用vue --version查看全局的版本
不需要
查看所有脚手架版本的指令查看旧版vue-cli(3.0 以下) npm view vue-cli versions
查看新版 @vue/cli(3.0 及以上)npm view @vue/cli versions
npm view create-vue versions
查看本项目脚手架版本的指令手动打开项目的package.json你安装时指定的版本
查看本项目构建(打包)工具的版本手动打开项目的package.json 或者 在目根目录打开命令行窗口执行npm list webpack手动打开项目的package.json

这两个工程化开发首选Vite,因为vite​​按需编译​​速度快。

未来趋势已明显倾向于 Vite 为核心的 create-vue。

大家想要自己从0-1搭建Webpack,请看我发的文章:从0-1搭建webpack的前端工程化项目

学习了Webpack从0-1的构建可以类比Vite

其实这一块从0-1的构建可以学也可以不学,只要会用就行。学完这个有助于你更加深刻的理解底层原理。

现在2024年10月份尤雨溪创建了公司voidZero,这个公司旨在解决前端开发中的碎片化和配置复杂以及性能问题。VoidZero的技术布局是分为底层工具链(Oxc_parser、oxLint、OxcFormatter等等)和上层应用工具(RollDown打包工具用于替代esbuild)。预计2025年下半年可以提供给用户使用。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文