我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Vue.js的构建工具有哪些区别

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Vue.js的构建工具有哪些区别

本篇内容介绍了“Vue.js的构建工具有哪些区别”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

1.先决条件

本教程假定读者具备以下条件:

  •  Node.js 10x 或者更高版本

  •  安装了Yarn或者NPM

  •  JavaScript的基本知识以及框架如何工作

  •  Vue.js的基础知识

2.脚手架工具

脚手架工具是建立在一些构建工具之上的抽象,最主要的是开发服务器/模块捆绑器,它们消除了配置和使用构建工具的麻烦。

脚手架工具可以帮助你动态地引导你创建新项目,你不必担心配置问题。

脚手架工具还包括项目的配置选项、为未来项目保存配置预置的能力,以及升级使用它们构建的项目依赖关系的机制。

我们将比较的Vue社区中可用于脚手架应用程序和库的工具是:

  •  Vite

  •  Vue CLI

  •  Poi

  •  Bili

3.什么是Vite?

Vite,最初只是作为Vue单文件组件(SFC)的开发服务器,是一个利用原生ES模块导入的无捆绑JavaScript开发服务器。

create-vite-app 是一个用于引导新的Vite项目的模板,使用create-vit-app,你不必安装Vue包,因为它作为默认的启动器与Vue捆绑在一起,你可以安装其他应用的依赖。create-vite-app还支持其他框架,例如React和Preact。也可以使用 —template 标志配置要使用的模板。

重要的是要注意,Vite仍处于试验阶段,正在努力使其适合生产。最好不要在关键项目上使用它,直到它变得稳定为止。

Vite还不向后兼容,因此它不支持Vue 2以外的任何其他Vue.js版本。

Vite包含了一个令人难以置信的快速热模块替换(HMR),你的文件变化几乎会立即反映在浏览器中,它也有开箱即用的支持TypeScript,.tsx 和 .jsx 文件,使用esbuild进行移植,CSS预处理器,PostCSS和CSS模块。

Vite的其他功能包括:

  •  Asset URL处理

  •  支持CSS预处理器,PostCSS和CSS模块

  •  支持模式选项和环境变量

  •  在项目的 base/root 目录下或当前工作目录下用 vite.config.js 或 vite.config.ts 文件扩展默认值

  •  支持插件

  •  支持自定义文件转换

你可以在此处阅读有关Vite的更多信息。

4.什么是Vue CLI?

Vue CLI是基于Webpack构建的用于项目的官方Vue.js脚手架工具,它可以避免开发人员为项目配置和设置构建过程的麻烦。它提供了一个有组织的代码结构,并帮助你选择在应用程序中需要的工具,同时它负责配置,并让你专注于编写为项目提供支持的代码。

它还具有对Babel,TypeScript,ESLint,PostCSS和CSS预处理器,渐进式Web应用程序(PWA),单元测试和端到端测试的现成支持。它还具有基于插件的可扩展体系结构,该体系结构允许开发人员构建,共享和使用插件来解决特定问题。

你还可以在项目的脚手架过程中使用Vue Router添加路由,并使用Vuex添加状态管理,并且开箱即可使用热模块替换(HMR)。其他一些值得注意的功能是:

  •  支持模式和环境变量

  •  使用 vue.config.js 或 vue.config.ts 配置文件来修改默认的webpack配置,从而实现扩展性。

  •  适合喜欢使用GUI的开发人员的图形用户界面

Vue.js的构建工具有哪些区别

5.什么是Poi?

Vue.js的构建工具有哪些区别

Poi是一个建立在webpack之上的零配置捆绑程序,它的目的是通过使用预先配置的预设,使webpack的开发和捆绑应用尽可能的简单。Poi与框架无关,可以与任何JavaScript框架一起使用。 Poi通过减少和处理代码来优化性能并加快应用程序的加载速度。

Poi更适合于构建Web应用程序。

Create Poi App是一种用于交互式创建新Poi项目的脚手架工具。

Poi提供了一个很好的开发体验,同时也提供了一个用配置文件扩展应用的选项。

它还具有一些值得注意的功能,例如:

  •  对JS,CSS,文件资产等的现成支持

  •  Poi与框架无关

  •  无需配置即可支持JSX,Vue等

  •  使用插件扩展功能

6.什么是Bili?

Bili 在其官方文档中被描述为一个令人愉快的库捆绑器。

Bili是Poi的Rollup替代品,它是建立在Rollup上的零配置捆绑器,它让开发设置变得轻而易举,它更适合构建库而不是Web应用。

Bili帮助库作者将库捆绑成JavaScript多种格式,例如CommonJS,UMD和ES模块。

注意:Bili没有CLI交互式shell。

该工具同时提供了命令行和Node.js API,所以开发者可以选择最适合他们使用案例的方式,它是面向未来的,因为它是由Babel使用 babel-preset-env 和 babel-preset-typescript 移植的,所以你可以自由地使用现代的JavaScript功能,它的一些功能,正如其文档中所说的那样,包括:

  •  快速,默认为零配置

  •  在“引擎盖”下使用Rollup

  •  使用Buble/Babel/TypeScript自动转换JS文件

  •  内置对CSS、Sass、Stylus、Less和CSS模块的支持

  •  使用Rollup插件扩展功能

  •  友好的错误日志体验

  •  用TypeScript编写,自动生成的API文档

7.安装及使用

7.1 Vue CLI

开始使用Vue CLI工具,使用以下命令之一安装CLI工具:

npm install -g @vue/cli  # OR  yarn global add @vue/cli

全局安装CLI包后,我们可以在终端中访问 vue 命令,vue create 命令可以帮助我们创建一个新的项目。

Vue.js的构建工具有哪些区别

接下来,使用 vue create 命令创建一个新项目:

vue create testing-vue-cli

我用“testing-vue-cli”这个名字作为本教程的项目名,可以用任何你认为合适的名字代替。

运行这个命令可以给你一个交互式的脚手架体验,你可以选择你的应用需要的包,你也可以决定将配置保存为预设,以备将来的项目使用。

Vue.js的构建工具有哪些区别

接下来,将目录更改为你的项目文件夹:

cd testing-vue-cli

通过运行这些命令之一来服务你的应用程序。

yarn serve  # or  npm run serve

运行以下命令后,你的应用默认应在 http://localhost:8080上运行:

Vue.js的构建工具有哪些区别

7.2 Vite

运行以下命令以使用模板创建一个新的Vite应用程序:

npx create-vite-app testing-vite  # OR  yarn create vite-app testing-vite

现在,使用以下命令转到创建的项目目录:

cd testing-vite

然后继续安装我们的项目正常运行所需的必要软件包:

npm install  # OR  yarn

然后,你可以通过运行以下命令在浏览器中启动开发服务器:

npm run dev  # OR  yarn dev

运行dev命令后,应该在 http://localhost:3000上获得与此类似的内容:

Vue.js的构建工具有哪些区别

7.3 创建Poi应用程序

要开始使用Poi引导你的项目,请首先安装创建Poi应用程序CLI工具:

yarn global add create-poi-app      # OR  npm i -g create-poi-app

这个命令使 creat-poi-app 可以在全局范围内使用,现在你可以使用 cpa 命令来创建新项目。

Vue.js的构建工具有哪些区别

使用以下命令创建一个新项目:

cpa testing-poi

运行此命令将给你一个shell,你可以决定在你的项目中包含哪些工具。

Vue.js的构建工具有哪些区别

Vue.js的构建工具有哪些区别

接下来,使用以下命令转到你的项目目录:

cd testing-poi

继续安装Vue,还要安装Vue模板编译器,作为开发依赖,Vue模板编译器把模板编译下来变成渲染函数。

yarn add vue && yarn add vue-template-compiler --dev

打开位于 class="lazy" data-src 资源管理器中的 index.js 文件,并添加以下内容:

import Vue from 'vue'  import App from './App.vue'  new Vue({    el: "#app",    render: h => h( App )  });

接下来,在 class="lazy" data-src 文件夹中创建一个 App.vue 文件,并添加以下内容:

<template>    <div id="app">     helloooo    </div>  </template>

现在,你可以通过运行以下命令在浏览器中运行开发服务器:

yarn dev

Vue.js的构建工具有哪些区别

在运行开发命令后,你应该在http://localhost:4000 上得到类似这样的运行结果:

Vue.js的构建工具有哪些区别

7.4 Bili

要使用Bili引导你的Vue项目,请首先为该项目创建一个新目录:

mkdir testing-bili

将工作目录更改为创建的文件夹:

cd testing-bili

然后使用以下命令在目录中初始化一个新的 package.json 文件:

npm init -y  or using Yarn  yarn init -y

接下来,将Bili安装为开发依赖项:

yarn add bili --dev

接下来,安装Vue和Vue模板编译器:

yarn add vue && yarn add vue-template-compiler --dev

通过使用以下内容替换 package.json 中 main 的值,为你的项目添加一个入口文件:

"main": "./dist/index.js",

接下来,安装 Rollup plugin for Vue,从而可以将单个文件组件与Bili捆绑在一起:

yarn add rollup-plugin-vue@5.1.5

然后配置你的npm脚本以使用Bili运行你的项目,将以下内容添加到 package.json 文件中:

"scripts": {    "build": "bili App.vue --plugin.vue"  },

接下来,创建一个 App.vue 文件并添加以下内容:

<template>    <h2>hello</h2>  </template>  <script>  export default {    name: 'App'  }  </script>  <!-- let's add some style too :) -->  <style scoped>  h2 {    color: red  }  </style>

接下来,创建一个 bili.config.js 文件,并添加以下代码:

const vue = require('rollup-plugin-vue');  module.exports = {    input: 'App.vue',    format: ['umd-min'],    plugins: {      vue: true    },    outDir: 'dist'  }

然后,你可以使用以下命令构建项目:

yarn build

编译后的文件应位于项目的 dist 文件夹中。

Vue.js的构建工具有哪些区别

8. 易用性和插件

Vue CLI的优势之一是有广泛的插件,几乎可以用于任何目的,这使得使用第三方插件或通过构建自己的插件来扩展你的项目功能变得很容易。

虽然四个库的构建都能达到几乎相似的效果,但Vue CLI和Poi的文档几乎是同一标准,而Vite目前还没有完整的文档。Vite仍在积极开发中,人们需要阅读该库代码库中的文档部分来执行一些高级操作。另一方面,Bili的文档是赤裸裸的,一个新用户在试图在Vue项目中使用它时可能会感到困惑(就像我在阅读它时一样),并遇到错误。

Vue CLI是Vue.js团队推荐的工具,使其成为许多开发人员的默认选择。

9. 社区

Vite尽管是一个相对较新的库,但已经积累了9.1k颗星,它被755个仓库使用,它也有54个贡献者,在NPM上的周下载量为5863。

Vue.js的构建工具有哪些区别

Vue.js的构建工具有哪些区别

Poi在GitHub上有5k星,在GitHub上有57个贡献者,每周在NPM上有1,760的下载:

Vue.js的构建工具有哪些区别

Vue.js的构建工具有哪些区别

Vue CLI在NPM上拥有最高的统计数字,每周有24236次下载,它也被超过40万个仓库使用,它有370个贡献者,在GitHub上获得了25.9颗星。

Vue.js的构建工具有哪些区别

Vue.js的构建工具有哪些区别

Bili在GitHub上管理着878颗星星,它被1529个仓库使用,有20个仓库的贡献者。

Vue.js的构建工具有哪些区别

Vue.js的构建工具有哪些区别

“Vue.js的构建工具有哪些区别”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程网网站,小编将为大家输出更多高质量的实用文章!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Vue.js的构建工具有哪些区别

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Vue.js和AngularJS有哪些区别

这篇文章主要介绍“Vue.js和AngularJS有哪些区别”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Vue.js和AngularJS有哪些区别”文章能帮助大家解决问题。 Vue.js 和 An
2023-06-27

vue.js和vue-cli有哪些区别

这篇文章主要介绍“vue.js和vue-cli有哪些区别”,在日常操作中,相信很多人在vue.js和vue-cli有哪些区别问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”vue.js和vue-cli有哪些区别
2023-06-29

Java程序员常用的构建工具有哪些

本篇内容主要讲解“Java程序员常用的构建工具有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Java程序员常用的构建工具有哪些”吧!构建工具——调查结果Apache
2023-06-17

换ip工具和网游加速器有哪些区别

这篇文章主要介绍换ip工具和网游加速器有哪些区别,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!首先介绍一下网游加速器和ip工具。1、游戏加速器就是对游戏ip进行加速,这样就能达到降低游戏延迟的效果。主要是针对个人用户
2023-06-25

Dreamweaver中的工作区布局工具有哪些

本篇文章为大家展示了Dreamweaver中的工作区布局工具有哪些,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。1、文档窗口。在整个工作区当中面积最大的一块就是文档窗口,这里展示了网页的内容。如果我
2023-06-08

有哪些新手建站工具

这篇文章主要讲解了“有哪些新手建站工具”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“有哪些新手建站工具”吧!  现在很忙,过两天帮你做吧!”当你从技术部那里碰了一鼻子灰回来,这并不为怪&md
2023-06-10

CentOS Linux下有哪些分区工具

这篇文章给大家分享的是有关CentOS Linux下有哪些分区工具的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。一、硬盘的接口类型分区肯定是对硬盘进行分区,那么先来聊一聊硬盘的接口类型,硬盘就现在来分,分为两类,
2023-06-10

Linux磁盘分区工具有哪些

这篇文章主要讲解了“Linux磁盘分区工具有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Linux磁盘分区工具有哪些”吧!Linux 中的 5 个管理磁盘分区的工具下面的列表没有特定的
2023-06-28

工作簿和工作表的区别有哪些

工作簿和工作表的区别是:1、工作簿是 Excel 文件的顶层容器,可以将它看作是一个文件夹或一个容器,用于存储一个或多个工作表;2、工作表是工作簿中的一个单独的电子表格页面,用于进行数据输入、计算、分析和可视化。本教程操作系统:Window
2023-08-16

C++结构体与类的区别有哪些

这篇文章给大家分享的是有关C++结构体与类的区别有哪些的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。C++中的struct对C中的struct进行了扩充,它已经不再只是一个包含不同数据类型的数据结构了,它已经获取
2023-06-25

java类和结构体的区别有哪些

Java类和结构体(Struct)是两种不同的概念,有以下区别:1. 定义方式:Java类是面向对象编程的基本单位,通过class关键字定义,可以包含属性(字段)和方法。而结构体是一种数据结构,在Java中没有直接的结构体类型,可以通过类或
2023-09-09

java中JDK内建工具有哪些

这篇文章主要为大家展示了“java中JDK内建工具有哪些”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“java中JDK内建工具有哪些”这篇文章吧。0、javap你可以给 javap(Java C
2023-06-17

C结构和C++结构之间的区别有哪些

小编给大家分享一下C结构和C++结构之间的区别有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!C语言是什么C语言是一门面向过程的、抽象化的通用程序设计语言,广
2023-06-14

构建Flex应用有哪些误区

小编给大家分享一下构建Flex应用有哪些误区,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!1. 使用RIA框架去构建Web1.0应用(新技术换汤不换药)。从Web
2023-06-17

编程热搜

目录