Home > Article > Web Front-end > Get to know Vue’s more efficient build tool—Vite
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!
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
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;
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
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!