This article will introduce you to a new build tool - Vite. Of course, our Vite is more used in the development stage. The following also introduces to you the advantages of Vite over webpack compilation, as well as the advantages of Vite Step-by-step tutorial on building a Vue3 project, follow me and give it a try!
webpack
When we used Vue2 for development, we usually We all use our vue-cli scaffolding to build the project. The cli scaffolding is built and packaged based on webpack. As a code compilation tool, webpack has entrance, exit, loader and plug-in.
webpack is a static module bundling tool for modern JavaScript applications.
When webpack processes an application, it internally builds a dependency graph that maps to each module required by the project and generates one or more bundles.
We can see from the picture that Webpack can convert a variety of static resources js, css, less, and sass into a static file, reducing page requests. [Related recommendations: vuejs video tutorial, web front-end development]
This is the only introduction, configuration and use of webpack More introduction. If anyone is interested, you can read some of the two articles I published earlier? Installing webpack and using , webpack related configuration, today we are going to Let’s introduce a new type of build tool——Vite
What is Vite?
Vite (French for “fast”, pronounced /vit/, pronounced like “veet”) is a new front-end building tool that significantly improves the front-end development experience. It mainly consists of two parts: a development server, which provides rich built-in features based on native ES modules, such as incredibly fast Hot Module Update (HMR). A set of build instructions that uses Rollup to package your code and is pre-configured to output highly optimized static resources for production. Vite is intended to provide out-of-the-box configuration, while its plugin API and JavaScript API bring a high degree of extensibility and full type support.
Why choose him?
Before browsers supported ES modules, JavaScript did not provide a native mechanism for developers to develop in a modular manner. This is why we’re familiar with the concept of “packaging”: using tools to crawl, process, and concatenate our source code modules into files that can be run in a browser. Over time, we have witnessed the evolution of tools such as webpack, Rollup, and Parcel, which have greatly improved the development experience for front-end developers. However, as we start building larger and larger applications, the amount of JavaScript code that needs to be processed grows exponentially. Large projects containing thousands of modules are quite common. We started to hit performance bottlenecks - tools developed using JavaScript often took a long time (even minutes!) to start the development server, and even with HMR, the effects of file modifications took several seconds to be reflected in the browser. come out. In this cycle, slow feedback will greatly affect the development efficiency and happiness of developers. Vite aims to address these issues by taking advantage of new developments in the ecosystem: browsers are starting to support ES modules natively, and JavaScript tools are increasingly written in compiled languages.
webpack: The compilation process is to package and compile all dependencies through webpack and finally hand them over to the server for rendering, so the speed will be slower after all the dependencies are loaded. Processing, so we will wait for dependencies to be loaded, especially when starting the cli scaffolding project for the first time;
vite: Use esbuild to pre-build dependencies. esbuild is written in Go and is 10-100 times faster than pre-building dependencies with packagers written in JavaScript. And provide source code in native ESM mode. This essentially lets the browser take over part of the packager's work: Vite only needs to transform when the browser requests source code and serve it on demand. Code is imported dynamically based on context, i.e. it will only be processed when actually used on the current screen. To put it bluntly, Vite will directly start the service for rendering. During the rendering process, what resources does the browser need? Our service will process resource requests, which can be understood as requesting what is needed. Therefore, in terms of speed, Vite improves the development server startup time by dividing the modules in the application into dependencies and source code at the beginning;
Create a project using Vite
When we used vue-cli scaffolding before, we first installed the scaffolding globally so that we could create Vue2 projects later. However, the Vite build tool does not require us to install it globally. It can be created with the following command; note that Vite requires Node.js versions 14.18 and 16. However, some templates require a higher Node version to run properly. When your package manager issues a warning, please upgrade your Node version.
? Create project command:
//使用 NPM:$ npm create vite@latest//使用 Yarn:$ yarn create vite//使用 PNPM:$ pnpm create vite
? Enter the file name, select the front-end framework, and select the language:
? Enter Project, install dependencies, start the project (the compilation speed is very fast)
? The project started successfully
Written at the end
Let’s try it out and build the first Vue3 project through Vite. After running it, you can use VSCode to open the code and take a look. You can find out how many major changes there are in the code level between the Vue3 project and Vue2, and you can also modify the code yourself. Feel the speed of our Vite compilation!
(Learning video sharing: vuejs introductory tutorial, Basic programming video)
The above is the detailed content of Get to know Vue's more efficient build tool—Vite. For more information, please follow other related articles on the PHP Chinese website!

vue中props可以传递函数;vue中可以将字符串、数组、数字和对象作为props传递,props主要用于组件的传值,目的为了接收外面传过来的数据,语法为“export default {methods: {myFunction() {// ...}}};”。

如何覆盖组件库样式?下面本篇文章给大家介绍一下React和Vue项目中优雅地覆盖组件库样式的方法,希望对大家有所帮助!

本篇文章带大家聊聊vue指令中的修饰符,对比一下vue中的指令修饰符和dom事件中的event对象,介绍一下常用的事件修饰符,希望对大家有所帮助!

react与vue的虚拟dom没有区别;react和vue的虚拟dom都是用js对象来模拟真实DOM,用虚拟DOM的diff来最小化更新真实DOM,可以减小不必要的性能损耗,按颗粒度分为不同的类型比较同层级dom节点,进行增、删、移的操作。


Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

SublimeText3 Linux new version
SublimeText3 Linux latest version

SecLists
SecLists is the ultimate security tester's companion. It is a collection of various types of lists that are frequently used during security assessments, all in one place. SecLists helps make security testing more efficient and productive by conveniently providing all the lists a security tester might need. List types include usernames, passwords, URLs, fuzzing payloads, sensitive data patterns, web shells, and more. The tester can simply pull this repository onto a new test machine and he will have access to every type of list he needs.

WebStorm Mac version
Useful JavaScript development tools

SublimeText3 English version
Recommended: Win version, supports code prompts!
