Web front-end packaging tools include: 1. Webpack, which is a modular management tool and packaging tool that can package and integrate files from different modules, and ensure that the references between them are correct and the execution is orderly; 2 , Grunt, a front-end packaging and building tool; 3. Gulp, writing packaging scripts in code; 4. Rollup, an ES6 modular packaging tool; 5. Parcel, an extremely fast, zero-configuration web application packager; 6. equireJS is a JS file and module loader.
The operating environment of this tutorial: Windows 7 system, Dell G3 computer.
Web front-end packaging tool
1. Webpack
Webpack: It is a modular management tool and packaging tools, whose purpose is that all static resources can be packaged. You can package and integrate files from different modules, and ensure that the references between them are correct and the execution is orderly. When webpack processes your application, it internally builds a dependency graph, maps every module required by the project, and generates one or more bundles.
Through loader conversion, any form of resource can be regarded as a module, such as CommonJs module, AMD module, ES6 module, CSS, pictures, etc. It can package many loose modules into front-end resources that are suitable for production environment deployment according to dependencies and rules. You can also separate the code of modules loaded on demand and load them asynchronously when they are actually needed. It is positioned as a module packager, while Gulp/Grunt is a build tool. Webpack can replace some functions of Gulp/Grunt, but it is not a functional tool and can be used in conjunction with it.
Webpack supports all popular module options and has become synonymous with React development. Although Webpack claims to be a module bundler, it can already be used as a universal task runner.
2. Grunt
Grunt: The oldest packaging tool. It uses the idea of configuration to write packaging scripts. Everything is configured, so there will be more configurations. Items, such as option, src, dest, etc. Moreover, different plug-ins may have their own extension fields, which requires high cognitive costs. When using them, you need to understand the configuration rules of various plug-ins.
3. Gulp
Gulp: Use code to write packaging scripts, and the code is written in a flowing way, only gulp.src, gulp.pipe is abstracted , gulp.dest, gulp.watch interfaces are quite simple to use. It is easier to learn and use, and the amount of code using gulp can be reduced by about half compared to grunt. (PS: This introduction is for gulp3 and is not available in gulp4)
4, Rollup
Rollup: The next generation of ES6 modular tools, the biggest highlight is the use of ES6 Module design, using tree-shaking to generate cleaner and simpler code. Generally speaking, use Webpack for applications and Rollup for class libraries; use webpack when code splitting (Code Splitting) is required, or many static resources need to be processed, or when the built project needs to introduce many CommonJS module dependencies. The code base is based on ES6 modules, and I want the code to be directly usable by others, using Rollup.
5. Parcel
Parcel is an "extremely fast, zero-configuration web application packager". In Web front-end training, whether it is theoretical knowledge or practical project operations, there will be learning about module packaging tools, so that you can truly learn to use front-end tools.
Parcel has the following features:
Quickly
Bundle all assets of the project
No code splitting configured
6, browserify
Browserify supports the CommonJS module that Node.js is using, it will All modules are compiled into a single browser-compatible file. It is designed based on streaming ideas and can be used through command line or API. It only deals with the reverse process of JavaScript modularization, but promotes better development of modularization.
7. RequireJS
RequireJS is a JavaScript file and module loader. It is optimized for in-browser use, but can be used in other JavaScript environments such as Rhino and Node. Using a modular script loader like RequireJS will improve the speed and quality of your code.
Mastering the use of these front-end modular tools will make your work easier and more effective. Modularization has become an essential skill for modern front-end engineers.
(Learning video sharing: web front-end)
The above is the detailed content of What are the web front-end packaging tools?. For more information, please follow other related articles on the PHP Chinese website!