Beginning RequireJS
āĻāĻžāĻāĻžāϏā§āĻā§āϰāĻŋāĻĒā§āĻ āĻāĻŽāύ āĻāĻ āĻāĻŋāύāĻŋāϏ āϝ⧠āĻĒā§āϰāĻā§āĻā§āĻā§āϰ āĻŦā§āϏ āĻŦāĻžā§āĻžāϰ āϏāĻžāĻĨā§ āϏāĻžāĻĨā§ āĻāĻāĻž āĻŽā§āϝāĻžāύā§āĻ āĻāϰāĻž āĻāĻ āĻŋāύ āĻĨā§āĻā§ āĻāĻ āĻŋāύ āĻšāϤā§āĻ āĻĨāĻžāĻā§āĨ¤ āĻāĻŦāĻžāϰ āĻ āύā§āĻ āϏāĻŽā§ āĻ āύā§āĻ āĻĒā§āϞāĻžāĻāĻāύ āĻāĻāĻ āĻāϰāϤ⧠āĻšā§āĨ¤ āϤ⧠āĻāĻ āϝ⧠āĻāĻŽāϰāĻž āĻāϤ āĻāϤ āĻĒā§āϞāĻžāĻāĻāύ āĻāĻŽāĻžāĻĻā§āϰ āĻĒā§āϰāĻā§āĻā§āĻā§ āĻāĻŽāĻĒā§āϰā§āĻ āĻāϰāĻŋ āĻŦā§āĻļāĻŋāϰ āĻāĻžāĻ āϏāĻŽā§āĻ āĻĻā§āĻāĻž āϝāĻžā§ āĻāĻāĻāĻž āĻāĻžāĻāĻžāϏā§āĻā§āϰāĻŋāĻĒā§āĻ āϞāĻžāĻāĻŦā§āϰā§āϰāĻŋ (āĻĒā§āϞāĻžāĻāĻāύ) āĻāϰā§āĻāĻāĻž āϞāĻžāĻāĻŦā§āϰā§āϰāĻŋāϰ āĻāĻĒāϰ āύāĻŋāϰā§āĻāϰāĻļā§āϞāĨ¤
āϝā§āĻŽāύ āϝāĻĻāĻŋ āĻāĻŽāĻžāĻĻā§āϰ myScript.js āύāĻžāĻŽā§ āĻāĻāĻāĻž āĻāĻžāϏā§āĻāĻŽ āĻĢāĻžāĻāϞ āĻĨāĻžāĻā§ āϝā§āĻāĻžāϤ⧠āĻāĻ āĻā§āĻĄ āĻāĻā§āĻ
$(function () {alert("document is loaded");});
āϤ⧠āĻĻā§āĻāĻž āϝāĻžāĻā§āĻā§ āĻāĻŽāĻžāĻĻā§āϰ āĻāĻ āĻā§āĻĄā§ jQuery āĻāϰ āĻāĻāĻāĻž āĻĢāĻžāĻāĻļāύ āĻāĻā§āĨ¤ āĻāĻāύ āĻāĻ āĻā§āĻĄ āĻāĻāĻ āĻāϰāϤ⧠āĻšāϞ⧠āĻāĻŽāĻžāĻĻā§āϰ jQuery āϞāĻžāĻāĻŦā§āϰā§āϰāĻŋ āĻāĻŽāĻĒā§āϰā§āĻ āĻāϰāϤ⧠āĻšāĻŦā§āĨ¤ āĻ āύā§āĻāĻāĻž āĻāϰāĻāĻŽāĻ
<script src="http://code.jquery.com/jquery.min.js"></script><script src="myScript.js"></script>
āĻāĻāĻžāύ⧠āĻā§āϰā§āϤā§āϤāĻĒā§āϰā§āύ āĻŦā§āϝāĻžāĻĒāĻžāϰ āĻšāĻā§āĻā§ jQuery āĻ āĻŦāĻļā§āϝāĻ myScript.js āĻāϰ āĻāĻā§ āĻāĻŽāĻĒā§āϰā§āĻ āĻāϰāϤ⧠āĻšāĻŦā§āĨ¤ āĻāĻžāϰāύ āĻāĻŽāĻžāĻĻā§āϰ āĻāĻžāϏā§āĻāĻŽ āĻĢāĻžāĻāϞ jQuery āĻāϰ āĻāĻāĻāĻž āĻĢāĻžāĻāĻļāύ āĻāĻāĻ āĻāϰāĻā§āĨ¤ āϤāĻžāĻ āĻāĻŽāϰāĻž āϝāĻĻāĻŋ āĻāĻĻā§āϰ āĻ āϰā§āĻĄāĻžāϰ āĻā§āĻā§āĻ āĻāϰ⧠āĻĻā§āĻ āĻāĻāĻžāĻŦā§āĻ
<script src="myScript.js"></script><script src="http://code.jquery.com/jquery.min.js"></script>
āĻāĻāύ āĻāϰ āĻāĻŽāĻžāĻĻā§āϰ āĻā§āĻĄ āĻāĻžāĻ āĻāϰāĻŦā§ āύāĻžāĨ¤ āĻāĻžāϰāύ jQuery āĻĒāϰ⧠āĻāĻŽāĻĒā§āϰā§āĻ āĻāϰāĻž āĻšā§ā§āĻā§āĨ¤ āĻāĻāύ āĻŦā§āϰāĻžāĻāĻāĻžāϰ āĻāύāϏā§āϞ āĻā§āϞāϞ⧠āĻĻā§āĻ āĻž āϝāĻžāĻŦā§ āĻāĻ āĻāϰāϰ āĻĻāĻŋāĻā§āĻā§āĻ
ReferenceError: $ is not defined
āϤ⧠āĻĻā§āĻāĻž āϝāĻžāĻā§āĻā§ āĻāĻŽāĻžāĻĻā§āϰ myScript.js āϏāĻŦāϏāĻŽā§ jQuery āĻāϰ āĻāĻĒāϰ āύāĻŋāϰā§āĻāϰāĻļā§āϞāĨ¤
āĻāĻŦāĻžāϰ āϝāĻĻāĻŋ āĻāĻŽāϰāĻž BACKBONE āĻāĻāĻ āĻāϰāϤ⧠āĻāĻžāĻ āϏā§āĻāĻž āĻāĻŦāĻžāϰ UNDERSCORE āĻāĻĒāϰ āύāĻŋāϰā§āĻāϰāĻļā§āϞāĨ¤ āĻāĻŦāĻžāϰ UNDERSCORE āϏā§āĻŦā§āĻ jQuery āĻāϰ āĻāĻĒāϰ āύāĻŋāϰā§āĻāϰāĻļā§āϞāĨ¤
āĻāĻ āϏāĻŽāϏā§āϝāĻž āϏāĻŽāĻžāϧāĻžāύā§āϰ āĻāĻĒāĻžā§ āĻšāĻā§āĻā§ āϏāĻŦāϏāĻŽā§ āϝā§āĻ āϞāĻžāĻāĻŦā§āϰā§āϰāĻŋ āĻāĻā§ āϞā§āĻĄ āĻšāĻā§āĻž āĻĻāϰāĻāĻžāϰ āϏā§āĻāĻž āĻāĻā§ āϞā§āĻĄ āĻāϰāĻžāĨ¤ āĻāĻŋāύā§āϤ⧠āϝā§āĻšā§āϤ⧠āĻāĻŽāĻžāĻĻā§āϰ āĻ āύā§āĻ āĻĨāĻžāϰā§āĻĄ āĻĒāĻžāϰā§āĻāĻŋ āϞāĻžāĻāĻŦā§āϰā§āϰāĻŋ āĻĒā§āϰāĻā§āĻā§āĻā§ āĻāĻŽāĻĒā§āϰā§āĻ āĻāϰāĻž āϞāĻžāĻā§, āϤāĻžāĻ āĻā§ āĻā§āύ āϞāĻžāĻāĻŦā§āϰā§āϰāĻŋāϰ āĻāĻĒāϰ āύāĻŋāϰā§āĻāϰāĻļā§āϞ āϤāĻž āĻŽāύ⧠āϰāĻžāĻāĻž āϏāĻŦāϏāĻŽā§ āϏāĻŽā§āĻāĻŦ āĻšā§ āύāĻžāĨ¤ āϤāĻžāĻ āĻāĻŽāĻžāĻĻā§āϰ āĻāĻŽāύ āĻā§āύ āϏāϞā§āϝā§āĻļāύ āĻĻāϰāĻāĻžāϰ āϝāĻžāϤ⧠āĻāϰ⧠āĻāĻŽāϰāĻž āĻāĻā§āĻā§āĻŽāϤ āϞāĻžāĻāĻŦā§āϰā§āϰāĻŋ āĻāĻŽāĻĒā§āϰā§āĻ āĻāϰāĻŦ āĻāĻŋāύā§āϤ⧠āĻāĻŽāĻžāĻĻā§āϰ āĻāĻāύāĻ āĻā§ āĻāĻžāϰ āĻāĻā§ āϞā§āĻĄ āĻšāĻŦā§ āĻāĻā§āϞāĻž āύāĻŋā§ā§ āĻāĻŋāύā§āϤāĻž āĻāϰāĻž āϞāĻžāĻāĻŦā§ āύāĻžāĨ¤
āϏāĻŽāĻžāϧāĻžāύāĻ
RequireJS āĻšāĻā§āĻā§ āĻ āϏāĻŽāϏā§āϝāĻžāϰ āĻ āύā§āϝāϤāĻŽ āĻāĻāĻāĻŋ āϏāĻŽāĻžāϧāĻžāύāĨ¤ RequireJS āĻ āĻāĻŽāϰāĻž āĻļā§āϧ⧠āĻāĻāĻāĻž āĻāύāĻĢāĻŋāĻāĻžāϰ āĻ āĻĒāĻļāύ āϞāĻŋāĻāĻŦ āĻāϰ RequireJS āύāĻŋāĻļā§āĻāĻŋāϤ āĻāϰāĻŦā§ āϝ⧠āϏāĻāϞ āϞāĻžāĻāĻŦā§āϰā§āϰāĻŋ āĻ āĻŋāĻāĻāĻžāĻŦā§ āϞā§āĻĄ āĻāϰāĻž āĻšā§ā§āĻā§āĨ¤
āĻĒā§āϰāĻĨāĻŽā§ āĻāĻŽāϰāĻž RequireJS āĻāĻŽāĻĒā§āϰā§āĻ āĻāϰāĻŦāĻ
<script src="require.js" data-main="main"></script>
āĻāĻāĻžāύ⧠data-main āĻ āĻāĻāĻāĻž āĻĢāĻžāĻāϞā§āϰ āύāĻžāĻŽ āĻĻā§ā§āĻž āĻāĻā§āĨ¤ āĻ
āϰā§āĻĨāĻžā§ main āĻšāĻā§āĻā§ main.jsāĨ¤
āĻāϰ main.js āĻ āύāĻŋāĻā§āϰ āĻā§āĻĄ āϞāĻŋāĻāĻŦāĻ
// āĻĒā§āϰāĻĨāĻŽā§ āĻŦāϞ⧠āĻĻāĻŋāϤ⧠āĻšāĻŦā§ āĻā§āύ āĻā§āύ āϞāĻžāĻāĻŦā§āϰā§āϰāĻŋ āϞā§āĻĄ āĻāϰāϤ⧠āĻšāĻŦā§āĨ¤ āĻĢāĻžāĻāϞ āĻ āϰā§āĻĄāĻžāϰāĻŋāĻ āĻā§āύ āĻĢā§āϝāĻžāĻā§āĻ āύāĻžrequirejs.config({paths: {"jquery": "http://code.jquery.com/jquery.min"// āĻāĻāĻžāύā§āĻ āĻĢāĻžāĻāϞā§āϰ āĻļā§āώ⧠.js āĻāĻā§āϏāĻā§āύāĻļāύ āĻĻāϰāĻāĻžāϰ āύāĻžāĻ}});require(["jquery"], function ($) {// āĻāĻāĻžāύ⧠[] āĻāϰ āĻŽāϧā§āϝ⧠āĻŦāϞ⧠āĻĻāĻŋāϤ⧠āĻšāĻŦā§ āĻā§āύ āĻā§āύ āĻĢāĻžāĻāϞ āϞā§āĻĄ āĻāϰāĻž āĻĨāĻžāĻāϤ⧠āĻšāĻŦā§, āϝāĻĻāĻŋ// āĻāĻā§āϰ āĻ āϧāĻŋāĻ āĻĢāĻžāĻāϞ āĻĻāϰāĻāĻžāϰ āĻšā§ āϤāĻŦā§ āĻāĻŽāĻž āϏā§āĻĒāĻžāϰā§āĻ āĻāϰ⧠āĻŦāϞ⧠āĻĻāĻŋāϤ⧠āĻšāĻŦā§āĨ¤// āϝā§āĻŽāύ- ["jquery", "otherFile"]. āĻāĻāύ āύāĻŋāĻā§āϰ āĻā§āĻĄ āϤāĻāύāĻ āϰāĻžāύ āĻāϰāĻŦā§// āϝāĻāύ [] āĻāϰ āĻāĻŋāϤāϰ⧠āϝāĻž āĻāϞā§āϞā§āĻ āĻāϰāĻž āĻāĻā§ āϤāĻž āϞā§āĻĄ āĻļā§āώ āĻšāĻŦā§$(function () {alert("document is loaded!");});});
āĻāĻŽāύ āĻāĻŋāĻā§ āĻāύāĻĢāĻŋāĻāĻžāϰā§āĻļāύāĻ
baseUrl: // āĻĒāĻĨ āϏā§āĻ āĻāϰ⧠āĻĻā§ā§āĻž āϝāĻžāĻŦā§ āϝ⧠requireJS āĻā§āύ āϞā§āĻā§āĻļāύ⧠āĻĢāĻžāĻāϞ āĻā§āĻāĻŦā§āĨ¤// āϝāĻĻāĻŋ baseUrl āϏā§āĻ āĻāϰāĻž āύāĻž āĻšā§ āϤāĻŦā§ āĻĄāĻŋāĻĢāϞā§āĻ āĻā§āϝāĻžāϞ⧠āĻšāĻŦā§ āϝ⧠āĻĒā§āĻ āĻ requireJS// āϰā§āĻĢāĻžāϰ āĻāϰāĻž āĻšā§ā§āĻā§ āϤāĻžāϰ āϞā§āĻā§āĻļāύpaths: // āĻĢāĻžāĻāϞ āĻĒāĻĨ āĻŦāϞ⧠āĻĻāĻŋāϤ⧠āϝā§āĻā§āϞ⧠baseUrl āĻ āĻĨāĻžāĻāĻŦā§āύāĻžāĨ¤ āϝā§āĻŽāύ- āϝāĻĻāĻŋ āĻā§āύ āĻĢāĻžāĻāϞ// CDN āĻĨā§āĻā§ āϰā§āĻĢāĻžāϰ āĻāϰāĻž āĻšā§ āϤāĻŦā§ āĻāĻ āĻĢāĻžāĻāϞ āĻ āĻŦāĻļā§āϝāĻ baseUrl āĻ āĻā§āĻāϞā§// āĻĒāĻžāĻā§āĻž āϝāĻžāĻŦā§ āύāĻžwaitSeconds: // āϏā§āĻā§āϰāĻŋāĻĒā§āĻ āϞā§āĻĄ āĻāϰāĻžāϰ āĻāĻā§ requireJS āĻāϤ āϏā§āĻā§āύā§āĻĄ āĻ āĻĒā§āĻā§āώāĻž āĻāϰāĻŦā§scriptType: // āϏā§āĻā§āϰāĻŋāĻĒā§āĻ āĻāĻžāĻāĻĒ āĻŦāϞ⧠āĻĻā§ā§āĻž āϝāĻžāĻŦā§āĨ¤ āĻĄāĻŋāĻĢāϞā§āĻ āĻšāĻā§āĻā§ "text/javascript"
AMD with RequireJS
āĻāĻāύ āĻ āύā§āĻ āϏāĻŽā§ āĻāĻžāĻā§āϰ āϏā§āĻŦāĻŋāĻĻāĻžāϰā§āĻĨā§ (āĻā§āĻĄ āϰāĻŋ-āĻāĻāĻ āĻāϰāĻž, āĻā§āĻĄ āĻā§āϞāĻŋāύ āϰāĻžāĻāĻž āĻāϤā§āϝāĻžāĻĻāĻŋ) āĻāĻŽāĻžāĻĻā§āϰ āĻŦāĻŋāĻāĻŋāύā§āύ āĻŽāĻĄāĻŋāĻāϞ āϤā§āϰāĻŋ āĻāϰāĻž āϞāĻžāĻā§ āϝā§āĻŽāύ â āĻāĻžāϏā§āĻāĻŽāĻžāϰ āĻŽāĻĄāĻŋāĻāϞ, āĻāĻāĻāĻžāϰ āĻŽāĻĄāĻŋāĻāϞāĨ¤ āĻāĻŦāĻžāϰ āĻĻā§āĻāĻŦ āĻāĻŽāϰāĻž āĻāĻŋāĻāĻžāĻŦā§ âAMDâ āĻĒā§āϝāĻžāĻāĻžāϰā§āύ āĻĢāϞ⧠āĻāϰ⧠āĻāĻ āĻŽāĻĄāĻŋāĻāϞ āĻā§āϞ⧠āϤā§āϰāĻŋ āĻāϰ⧠āĻāĻžāĻ āĻāϰāĻŦāĨ¤ AMD (Asynchronous Module Definition) āĻšāĻā§āĻā§ āĻāĻžāĻāĻžāϏā§āĻā§āϰāĻŋāĻĒā§āĻā§ āĻŽāĻĄāĻŋāĻāϞ āϤā§āϰāĻŋ āĻāϰāĻžāϰ āĻāĻāĻāĻž āĻĒāĻĒā§āϞāĻžāϰ āĻāĻžāĻāĻĄāϞāĻžāĻāύāĨ¤
āĻāĻŽāĻĻā§āϰ āĻĒā§āϰāĻā§āĻā§āĻā§āϰ āĻĄāĻŋāϰā§āĻā§āĻāϰāĻŋ āϏā§āĻā§āϰāĻžāĻāĻāĻžāϰ āĻšāĻŦā§ āĻāϰāĻāĻŽāĻ
- index.html
 - js
- main.js
 - libs
- jquery.js
 - require.js
 - underscore.js
 - backbone.js
 
 - module // āĻāĻŽāĻžāĻĻā§āϰ āĻŽāĻĄāĻŋāĻāϞ āĻā§āϞ⧠āĻāĻāĻžāύ⧠āĻĨāĻžāĻāĻŦā§
- module1.js
 - module2.js
 
 
 
index.html:
<!DOCTYPE html><html><head><meta charset=utf-8 /><meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" /><title>AMD & RequireJS</title></head><body><script src="js/libs/require.js" data-main="js/main"></script></body></html>
āĻāĻŦāĻžāϰ āĻāĻŽāϰāĻž āĻāĻāĻāĻž āĻŽāĻĄāĻŋāĻāϞ āϤā§āϰāĻŋ āĻāϰāĻŦ āϝāĻžāϰ āϞā§āĻā§āĻļāύ āĻšāĻŦā§ js/module/repository.js:
define("repository", function() {var customerData = [{ id: 1, name: "Nina" },{ id: 2, name: "Tina" },{ id: 3, name: "Mina" }];return {customerData: customerData};});
āĻāĻāĻžāύā§, define āĻŽā§āĻĨāĻĄ āĻĻāĻŋā§ā§ āĻŽāĻĄāĻŋāĻāϞ āϤā§āϰāĻŋ āĻāϰāϤ⧠āĻšā§āĨ¤ āĻĒā§āϰāĻĨāĻŽ āĻĒā§āϝāĻžāϰāĻžāĻŽāĻŋāĻāĻžāϰ āĻšāĻā§āĻā§ āĻŽāĻĄāĻŋāĻāϞ āĻāϰ āύāĻžāĻŽ (āϝā§āĻŽāύ āĻāĻŽāĻžāĻĻā§āϰ āĻā§āώā§āϤ⧠ āϰ⧠repository)āĨ¤ āĻāĻāĻž āĻ
āĻĒāĻļāύāĻžāϞāĨ¤ āϝāĻĻāĻŋ āύāĻž āύā§āĻ āϤāĻžāĻšāϞ⧠āĻŦāĻžāĻ āĻĄāĻŋāĻĢāϞā§āĻ āĻĢāĻžāĻāϞā§āϰ āύāĻžāĻŽāĻāĻžāĻ āĻŽāĻĄāĻŋā§ā§āϞā§āϰ āύāĻžāĻŽ āĻšāĻŦā§āĨ¤ āĻāĻāĻž āϤāĻāύāĻŋ āĻĻā§ā§āĻž āĻāϰā§āϰ⧠āϝāĻāύ āĻāĻŽāϰāĻž āĻāϰ⧠āĻ
āύā§āĻ āĻĢāĻžāĻāϞ āĻāĻāϏāĻžāĻĨā§ āĻāύāĻā§āϝāĻžāĻ āĻāϰ⧠āĻāĻāĻāĻž āĻĢāĻžāĻāϞ āĻŦāĻžāύāĻžāĻŦāĨ¤
āĻĻā§āĻŦāĻŋāϤā§ā§ āĻĒā§āϝāĻžāϰāĻžāĻŽāĻŋāĻāĻžāϰ āĻšāĻā§āĻā§ āĻāĻāĻāĻž āĻ ā§āϝāĻžāϰ⧠āϝā§āĻāĻž āĻāĻŽāϰāĻž āĻĻā§āĻ āύāĻžāĻāĨ¤ āĻāĻ āĻ ā§āϝāĻžāϰā§āϤ⧠āĻĨāĻžāĻāĻŦā§ āĻāĻ āĻŽāĻĄāĻŋāĻāϞ āϰāĻžāύ āĻāϰāĻžāϰ āĻāύā§āϝ āĻ āύā§āϝ āϝā§āϏāĻŦ āĻŽāĻĄāĻŋāĻāϞ āĻŦāĻž āϞāĻžāĻāĻŦā§āϰā§āϰāĻŋ āĻāĻŽāĻžāĻĻā§āϰ āĻĻāϰāĻāĻžāϰāĨ¤ āĻāĻāĻžāϰ āĻāĻĻāĻžāĻšāϰāĻŖ āĻāĻŽāϰāĻž āĻĒāϰ⧠āĻĻā§āĻāĻŦāĨ¤
āĻļā§āώā§āϰ āĻĒā§āϝāĻžāϰāĻžāĻŽāĻŋāĻāĻžāϰ āĻšāĻā§āĻā§ āĻāĻāĻāĻž āĻāϞāĻŦā§āϝāĻžāĻ āĻĢāĻžāĻāĻļāύ āϝā§āĻāĻžāϰ āĻāĻŋāϤāϰ⧠āĻāĻ āĻŽāĻĄāĻŋāĻāϞā§āϰ āĻā§āĻĄ āĻĨāĻžāĻāĻŦā§āĨ¤
āĻāĻŦāĻžāϰ āĻāĻŽāϰāĻž main.js āĻāϰ āĻāĻŋāϤāϰ āϏāĻŦāĻāĻŋāĻā§ āĻāύāĻĢāĻŋāĻāĻžāϰ āĻāϰāĻŦ:
requirejs.config({paths: {"jquery": "libs/jquery.min","repository": "module/repository"},baseUrl: "js"});require(["jquery", "repository"], function ($, repo) {$(function () {var data = repo.customerData,output = [],k = 0;data.forEach(function (key) {output[k++] = "<p>";output[k++] = "Id: " + key.id + " | ";output[k++] = "Name: " + key.name;output[k++] = "</p>";});$("body").append(output.join(""));});});
āĻāĻāύ āϧāϰ⧠āύā§āĻ āĻāĻŽāĻžāĻĻā§āϰ āĻāĻžāϏā§āĻāĻŽ āĻŽāĻĄāĻŋāĻāϞ repository āĻ āύā§āϝ āĻāϰā§āĻāĻāĻž āĻŽāĻĄāĻŋāĻāϞā§āϰ āĻāĻĒāϰ āύāĻŋāϰā§āĻāϰāĻļā§āϞāĨ¤ āϝā§āĻāĻžāϰ āύāĻžāĻŽ āĻšāĻā§āĻā§ js/module/service.js:
define("service", function() {var orders = [{ customerId: 1, orderId: "ORD101" },{ customerId: 2, orderId: "ORD201" },{ customerId: 3, orderId: "ORD301" }];return {orders: orders};});
āĻāĻāύ āĻāĻ āĻŽāĻĄāĻŋāĻāϞāĻāĻž āĻāĻŽāϰāĻž āĻāĻŽāĻžāĻĻā§āϰ repository āĻŽāĻĄāĻŋāĻāϞ⧠āĻŦā§āϝāĻžāĻŦāĻšāĻžāϰ āĻāϰāĻŦāĨ¤ āĻĒā§āϰāĻĨāĻŽā§ āĻāĻŽāĻžāĻĻā§āϰ main.js āĻĢāĻžāĻāϞ⧠service āĻŽāĻĄāĻŋāĻāϞā§āϰ āϰā§āĻĢāĻžāϰā§āύā§āϏ āϝā§āĻ āĻāϰāĻŦāĻ
requirejs.config({paths: {"jquery": "libs/jquery.min","repository": "module/repository","service": "module/service"},baseUrl: "js"});
āĻāϰāĻĒāϰ āĻāĻŽāĻžāĻĻā§āϰ repository āĻŽāĻĄāĻŋāĻāϞā§āϰ define āĻŽā§āĻĨāĻĄā§āϰ āĻĻā§āĻŦāĻŋāϤā§ā§ āĻĒā§āϝāĻžāϰāĻžāĻŽāĻŋāĻāĻžāϰ⧠āĻāĻŽāĻžāĻĻā§āϰ āĻāĻ āĻŽāĻĄāĻŋāĻāϞā§āϰ āĻāύā§āϝ āĻĄāĻŋāĻĒā§āύā§āĻĄā§āύā§āϏāĻŋ āĻŦāϞ⧠āĻĻāĻŋāĻŦāĨ¤ āĻāĻā§āώā§āϤā§āϰ⧠āϏā§āĻāĻž āĻšāĻā§āĻā§ service āĻŽāĻĄāĻŋāĻāϞāĻ
define("repository", ["service"], function(service) {var customerData = [{ id: 1, name: "Nina", orderId: service.orders[0].orderId },{ id: 2, name: "Tina", orderId: service.orders[1].orderId },{ id: 3, name: "Mina", orderId: service.orders[2].orderId }];return {customerData: customerData};});
Loading Non AMD scripts
āĻāĻŦāĻžāϰ āĻāĻŽāϰāĻž āĻĻā§āĻāĻŦ āĻāĻŋāĻāĻžāĻŦā§ āϏā§āĻā§āϰāĻŋāĻĒā§āĻ āϞā§āĻĄ āĻāϰāĻŦ āϝā§āĻā§āϞ⧠āĻāĻŽāĻĄāĻŋ āĻĒā§āϝāĻžāĻāĻžāϰā§āύ āĻĢāϞ⧠āĻāϰ⧠āϤā§āϰāĻŋ āĻāϰāĻž āĻšā§ āύāĻžāĻāĨ¤ āĻāĻŽāϰāĻž āĻāĻŦāĻžāϰ Backbone āĻāĻŽāĻžāĻĻā§āϰ āĻĒā§āϰāĻā§āĻā§āĻā§ āĻ ā§āϝāĻžāĻĄ āĻāϰāĻŦāĨ¤ Backbone āĻšāĻā§āĻā§ āĻāĻāĻāĻž āĻĒāĻĒā§āϞ āĻžāϰ āĻāĻžāĻāĻžāϏā§āĻā§āϰāĻŋāĻĒā§āĻ āĻĢā§āϰā§āĻŽāĻā§āĻžāϰā§āĻāĨ¤ āĻāĻŋāύā§āϤ⧠Backbone āϝā§āĻšā§āϤ⧠"AMD" āύāĻž āϤāĻžāĻ āĻāĻŽāĻžāĻĻā§āϰ āĻāĻāĻā§ āĻāύāĻĢāĻŋāĻāĻžāϰ āĻāϰ⧠āύāĻŋāϤ⧠āĻšāĻŦā§āĻ
requirejs.config({shim: {underscore: {exports: "_"},backbone: {exports: "Backbone",deps: ["underscore"]}},paths: {"jquery": "libs/jquery.min","underscore": "libs/underscore-min","backbone": "libs/backbone-min","repository": "module/repository","service": "module/service"},baseUrl: "js"});
āĻĒā§āϰāĻĨāĻŽā§ paths āĻ
āĻŦāĻā§āĻā§āĻ āĻāϰ āĻāĻŋāϤāϰ⧠Backbone āĻāĻŦāĻ Underscore āĻĢāĻžāĻāϞā§āϰ āϞā§āĻā§āĻļāύ āĻŦāϞ⧠āĻĻāĻŋāϞāĻžāĻŽāĨ¤ Underscore āϞā§āĻĄ āĻāϰāĻž āĻĻāϰāĻāĻžāϰ āĻāĻžāϰāύ Backbone āύāĻŋāĻā§āĻ āĻāϰ āĻāĻĒāϰ āύāĻŋāϰā§āĻāϰāĻļāĻŋāϞāĨ¤ āĻāϰāĻĒāϰ shim āĻ
āĻŦāĻā§āĻā§āĻ āĻāϰ āĻāĻŋāϤāϰ⧠āĻāĻŽāϰāĻž āĻāĻā§āϞ⧠āϞā§āĻĄ āĻāϰāϞāĻžāĻŽāĨ¤ āϞāĻā§āώā§āϝ āĻāϰ⧠āĻĻā§āĻā§āύ āϝ⧠Backbone āĻĄāĻŋāĻĢāĻžāĻāύ āĻāϰāĻžāϰ āϏāĻŽā§ Underscore āĻā§ āĻāϰ āĻĄāĻŋāĻĒā§āύā§āĻĄā§āύā§āϏāĻŋ āĻšāĻŋāϏāĻžāĻŦā§ āĻĻā§āĻāĻžāύ āĻšā§ā§āĻā§āĨ¤
āĻāĻāύ āĻāĻŽāϰāĻž backbone āĻāĻāĻ āĻāϰāϤ⧠āĻĒāĻžāϰāĻŦāĻ
require(["jquery", "underscore", "backbone"], function ($, _, B) {console.log("Underscore Version: " + _.VERSION);console.log("Backbone Version: " + B.VERSION);});
āϏāĻŦ āĻŽāĻŋāϞāĻŋā§ā§ āĻāĻŽāĻžāĻĻā§āϰ main.js āĻšāĻŦā§ āĻāϰāĻāĻŽāĻ
requirejs.config({shim: {underscore: {exports: "_"},backbone: {exports: "Backbone",deps: ["underscore"]}},paths: {"jquery": "libs/jquery.min","underscore": "libs/underscore-min","backbone": "libs/backbone-min","repository": "module/repository","service": "module/service"},baseUrl: "js"});require(["jquery", "repository"], function ($, repo) {$(function () {var data = repo.customerData,output = [],k = 0;data.forEach(function (key) {output[k++] = "<p>";output[k++] = "Id: " + key.id + " | ";output[k++] = "Name: " + key.name + " | ";output[k++] = "Order Id: " + key.orderId;output[k++] = "</p>";});$("body").append(output.join(""));});});require(["jquery", "underscore", "backbone"], function ($, _, B) {console.log("Underscore Version: " + _.VERSION);console.log("Backbone Version: " + B.VERSION);});