Home Web Front-end JS Tutorial requireJS usage guide_others

requireJS usage guide_others

May 16, 2016 pm 03:03 PM

Most of the projects use modular development. requireJS is a model of AMD module development, so it is necessary to learn it. By using requireJS to write demos step by step, you can learn the overall development process of requireJS and some of your own feelings about using requireJS.

AMD: A module-based mechanism for asynchronously loading JavaScript code. It recommends developers to encapsulate JavaScript code into modules. The dependence on global objects becomes a dependency on other modules. There is no need to declare a lot. global variables. Resolve individual module dependencies through lazy and on-demand loading. The benefits of modularized JavaScript code are obvious. The loose coupling of each functional component can greatly improve the reusability and maintainability of the code. This non-blocking concurrent fast loading of JavaScript code enables other UI elements on the web page that do not rely on JavaScript code, such as images, CSS and other DOM nodes to be loaded first. The web page loads faster and users get better results. Good experience.

1. Download requireJS

Before modular development with requireJS, we need to prepare some things. Then you must download the require.js file, hahaha, because it is developed based on it.

2. Create an HTML file

After creating an HTML file, you must use the <script> tag when importing requireJS. There is no doubt about this. Then there is a data-main attribute in this tag, which functions as an entrance and exit, that is, after loading requireJS, enter from the data-main attribute. </p> <p>For example: </p> <div class="jb51code"> <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class='brush:php;toolbar:false;'> &lt;!DOCTYPE html&gt; &lt;head&gt; &lt;title&gt;require&lt;/title&gt; &lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html;charset=utf-8&quot;/&gt; &lt;/head&gt; &lt;body&gt; &lt;!--这是requireJS,data-main是作为入口模块,在这里就是js/main--&gt; &lt;script data-main=&quot;js/main&quot; src=&quot;js/require.js&quot;&gt;&lt;/script&gt; &lt;/body&gt; &lt;/html&gt; </pre><div class="contentsignin">Copy after login</div></div> </div> <p>When I load js/require.js, then execute the js file of js/main. main is also a js file. We can omit its .js suffix and requireJS will add it. </p> <p><strong>3. data-main</strong></p> <p>When the program executes <script data-main='js/main' src='js/require.js'></script>, enter main.js through data-main and execute main.js . So what is in main.js?

Please see the code:

/*
  require.config执行baseUrl为'js',
  baseUrl指的模块文件的根目录,可以是绝对路径或相对路径
*/
require.config({
  baseUrl: 'js',
  paths: {
    jquery: 'jquery-1.8.2.min'
  }
});
/*
  这里通过require,来引入monkey.js,
  然后通过后面的匿名函数给他们分配参数,如这里的
  monkey-->mk
*/
require(['monkey'],function(mk) {
  mk.init();  
});
Copy after login

From the above code, you can see that main.js contains two modules: require.config and require.

The function of require.config is to configure some parameters of requireJS and then reference them publicly.

For example, the above baseUrl, its function is to use it as the base path and search for files under this path. I put all .js files in the js folder. Therefore, after configuring this attribute, future files will search for content under the js path.

As follows:

require(['monkey'], function(monkey){
  monkey.init();
});
Copy after login

When it refers to monkey, it refers to monkey, not js/monkey.

What is the role of paths? Just replace some commonly used js files with common names. For example, jquery-1.8.2.min.js, we cannot write this every time we call it, so for convenience, we will replace jquery-1.8.2.min.js with jquery. From now on we will You can use jquery directly, which is fast and convenient.

Okay, require.config looks familiar. In a word, its function is to configure requireJS.

What about require?

The function of require is execution. For example, here I only need monkey.js to execute, so I imported monkey, and then used the mk parameter to obtain the return value after monkey execution. If there is a return value, then we can handle mk accordingly.

Hey, what’s in the monkey?

Let’s see:

/*
  define的参数为匿名函数,该匿名函数返回一个对象
*/
define(['jquery'],function($){
  var init = function(){
    console.log($.browser);
  };
  return {
    init: init
  };
});
Copy after login

define! Its function is to define a js module for use by other modules or require. The method of referencing other js modules is similar to require. It imports the required js files, and then the parameters correspond one to one. What everyone needs to pay attention to is that the methods or variables defined in define cannot be accessed by other modules. Therefore, if you want other modules to have access, just throw the corresponding method out (return) object or function. . Here, what I return is an object that provides init for other modules to call.

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

Hot Topics

Java Tutorial
1664
14
PHP Tutorial
1268
29
C# Tutorial
1242
24
Demystifying JavaScript: What It Does and Why It Matters Demystifying JavaScript: What It Does and Why It Matters Apr 09, 2025 am 12:07 AM

JavaScript is the cornerstone of modern web development, and its main functions include event-driven programming, dynamic content generation and asynchronous programming. 1) Event-driven programming allows web pages to change dynamically according to user operations. 2) Dynamic content generation allows page content to be adjusted according to conditions. 3) Asynchronous programming ensures that the user interface is not blocked. JavaScript is widely used in web interaction, single-page application and server-side development, greatly improving the flexibility of user experience and cross-platform development.

The Evolution of JavaScript: Current Trends and Future Prospects The Evolution of JavaScript: Current Trends and Future Prospects Apr 10, 2025 am 09:33 AM

The latest trends in JavaScript include the rise of TypeScript, the popularity of modern frameworks and libraries, and the application of WebAssembly. Future prospects cover more powerful type systems, the development of server-side JavaScript, the expansion of artificial intelligence and machine learning, and the potential of IoT and edge computing.

JavaScript Engines: Comparing Implementations JavaScript Engines: Comparing Implementations Apr 13, 2025 am 12:05 AM

Different JavaScript engines have different effects when parsing and executing JavaScript code, because the implementation principles and optimization strategies of each engine differ. 1. Lexical analysis: convert source code into lexical unit. 2. Grammar analysis: Generate an abstract syntax tree. 3. Optimization and compilation: Generate machine code through the JIT compiler. 4. Execute: Run the machine code. V8 engine optimizes through instant compilation and hidden class, SpiderMonkey uses a type inference system, resulting in different performance performance on the same code.

Python vs. JavaScript: The Learning Curve and Ease of Use Python vs. JavaScript: The Learning Curve and Ease of Use Apr 16, 2025 am 12:12 AM

Python is more suitable for beginners, with a smooth learning curve and concise syntax; JavaScript is suitable for front-end development, with a steep learning curve and flexible syntax. 1. Python syntax is intuitive and suitable for data science and back-end development. 2. JavaScript is flexible and widely used in front-end and server-side programming.

JavaScript: Exploring the Versatility of a Web Language JavaScript: Exploring the Versatility of a Web Language Apr 11, 2025 am 12:01 AM

JavaScript is the core language of modern web development and is widely used for its diversity and flexibility. 1) Front-end development: build dynamic web pages and single-page applications through DOM operations and modern frameworks (such as React, Vue.js, Angular). 2) Server-side development: Node.js uses a non-blocking I/O model to handle high concurrency and real-time applications. 3) Mobile and desktop application development: cross-platform development is realized through ReactNative and Electron to improve development efficiency.

How to Build a Multi-Tenant SaaS Application with Next.js (Frontend Integration) How to Build a Multi-Tenant SaaS Application with Next.js (Frontend Integration) Apr 11, 2025 am 08:22 AM

This article demonstrates frontend integration with a backend secured by Permit, building a functional EdTech SaaS application using Next.js. The frontend fetches user permissions to control UI visibility and ensures API requests adhere to role-base

Building a Multi-Tenant SaaS Application with Next.js (Backend Integration) Building a Multi-Tenant SaaS Application with Next.js (Backend Integration) Apr 11, 2025 am 08:23 AM

I built a functional multi-tenant SaaS application (an EdTech app) with your everyday tech tool and you can do the same. First, what’s a multi-tenant SaaS application? Multi-tenant SaaS applications let you serve multiple customers from a sing

From C/C   to JavaScript: How It All Works From C/C to JavaScript: How It All Works Apr 14, 2025 am 12:05 AM

The shift from C/C to JavaScript requires adapting to dynamic typing, garbage collection and asynchronous programming. 1) C/C is a statically typed language that requires manual memory management, while JavaScript is dynamically typed and garbage collection is automatically processed. 2) C/C needs to be compiled into machine code, while JavaScript is an interpreted language. 3) JavaScript introduces concepts such as closures, prototype chains and Promise, which enhances flexibility and asynchronous programming capabilities.

See all articles