As the functions of the website gradually become richer, the js in the web page becomes more and more complex and bloated. The original method of importing js files one by one through script tags can no longer meet the current Internet development model. We need a team A series of complex requirements such as collaboration, module reuse, unit testing, etc.
RequireJS is a very small JavaScript module loading framework and one of the best implementers of the AMD specification. The latest version of RequireJS is only 14K compressed, which is very lightweight. It can also work with other frameworks. Using RequireJS will definitely improve the quality of your front-end code.
What benefits does requirejs bring?
Official description of requirejs:
RequireJS is a JavaScript file and module loader. It is optimized for in-browser use, but it can be used in other JavaScript environments, like Rhino and Node. Using a modular script loader like RequireJS will improve the speed and quality of your code.
Approximate meaning:
It can be used as a module loader for js files in the browser, and can also be used in Node and Rhino environments, balabala... This paragraph describes the basic function of requirejs "modular loading". What is modular loading? We will explain them one by one in the following chapters
Let’s first look at a common scenario and explain how to use requirejs through examples
Normal writing method
index.html:
<!DOCTYPE html> <html> <head> <script type="text/javascript" src="a.js"></script> </head> <body> <span>body</span> </body> </html>
a.js:
function fun1(){ alert("it works"); } fun1();
Maybe you prefer to write it like this
(function(){ function fun1(){ alert("it works"); } fun1(); })()
The second method uses block scope to declare functions to prevent contamination of global variables. The essence is still the same. When running the above two examples, I don’t know if you noticed that when the alert is executed, the html content is blank. , that is, body is not displayed. It only appears after clicking OK. This is the result of JS blocking browser rendering.
requirejs writing method
Of course, you must first go to the requirejs website to download js -> requirejs.rog
index.html:
<!DOCTYPE html> <html> <head> <script type="text/javascript" src="require.js"></script> <script type="text/javascript"> require(["a"]); </script> </head> <body> <span>body</span> </body> </html>
a.js:
define(function(){ function fun1(){ alert("it works"); } fun1(); })
The browser prompts "it works", indicating that it is running correctly, but there is one difference. This time the browser is not blank, and the body has appeared in the page. So far, we can know that requirejs has the following advantages:
1. Prevent js loading from blocking page rendering
2. Use program calling to load js to prevent the following ugly scenes
<script type="text/javascript" src="a.js"></script> <script type="text/javascript" src="b.js"></script> <script type="text/javascript" src="c.js"></script> <script type="text/javascript" src="d.js"></script> <script type="text/javascript" src="e.js"></script> <script type="text/javascript" src="f.js"></script> <script type="text/javascript" src="g.js"></script> <script type="text/javascript" src="h.js"></script> <script type="text/javascript" src="i.js"></script> <script type="text/javascript" src="j.js"></script>
The above is the entire content of this article. I hope it will be helpful for everyone to understand the require.js modular tool.