Skip to content

Commit 7cab037

Browse files
committed
Update to support require.config to match amdjs require API doc.
1 parent 071640e commit 7cab037

8 files changed

Lines changed: 86 additions & 85 deletions

File tree

docs/api.html

Lines changed: 55 additions & 56 deletions
Original file line numberDiff line numberDiff line change
@@ -528,22 +528,21 @@ <h2>
528528

529529
<pre><code>&lt;script type="text/javascript" src="scripts/require.js"&gt;&lt;/script&gt;
530530
&lt;script type="text/javascript"&gt;
531-
require({
532-
baseUrl: "/another/path",
533-
paths: {
534-
"some": "some/v1.0"
535-
},
536-
waitSeconds: 15,
537-
locale: "fr-fr",
538-
context: "foo"
539-
},
540-
["some/module", "my/module", "a.js", "b.js"],
541-
function(someModule, myModule) {
542-
//This function will be called when all the dependencies
543-
//listed above are loaded. Note that this function could
544-
//be called before the page is loaded.
545-
//This callback is optional.
546-
}
531+
require.config({
532+
baseUrl: "/another/path",
533+
paths: {
534+
"some": "some/v1.0"
535+
},
536+
waitSeconds: 15,
537+
locale: "fr-fr"
538+
});
539+
require( ["some/module", "my/module", "a.js", "b.js"],
540+
function(someModule, myModule) {
541+
//This function will be called when all the dependencies
542+
//listed above are loaded. Note that this function could
543+
//be called before the page is loaded.
544+
//This callback is optional.
545+
}
547546
);
548547
&lt;/script&gt;
549548
</code></pre>
@@ -585,7 +584,7 @@ <h2>
585584

586585
<p id="config-locale"><strong>locale</strong>: The locale to use for loading i18n bundles. By default navigator.language or navigator.userLanguage will be used. The proper syntax for specifying a locale is using lowercase and separating values by dashes, for instance: "fr-fr-paris" or "en-us".</p>
587586

588-
<p id="config-context"><strong>context</strong>: A name to give to a loading context. This allows require.js to load multiple versions of modules in a page, as long as each top-level require call specifies a unique context string. See <strong>Advanced Features</strong> below.</p>
587+
<p id="config-context"><strong>context</strong>: A name to give to a loading context. This allows require.js to load multiple versions of modules in a page, as long as each top-level require call specifies a unique context string. To use it correctly, see the <a href="#multiversion">Multiversion Support</strong> section.</p>
589588

590589
<p id="config-deps"><strong>deps</strong>: An array of dependencies to load. Useful when require is defined as a config object before require.js is loaded, and you want to specify dependencies to load as soon as require() is defined.</p>
591590

@@ -738,7 +737,7 @@ <h3><a name="packages">Loading Modules from Packages</a><span class="sectionMark
738737

739738
<pre><code>//main.js contents
740739
//Pass a config object to require
741-
require({
740+
require.config({
742741
packagePaths: {
743742
".packages": ["alpha", "omega"]
744743
},
@@ -791,7 +790,7 @@ <h3><a name="packages">Loading Modules from Packages</a><span class="sectionMark
791790

792791
<p>Then the RequireJS configuration would look like so:</p>
793792

794-
<pre><code>require({
793+
<pre><code>require.config({
795794
packagePaths: {
796795
".packages": [
797796
{
@@ -813,7 +812,7 @@ <h3><a name="packages">Loading Modules from Packages</a><span class="sectionMark
813812

814813
<p><strong>packagePaths</strong> is just a convenience for listing several packages that are not direct siblings of require.js, but still have a common directory parent. The above configuration could be written like so with just the <strong>packages</strong> config option, by using the <strong>location</strong> property for each third-party package:</p>
815814

816-
<pre><code>require({
815+
<pre><code>require.config({
817816
"packages": [
818817
{
819818
name: "alpha",
@@ -839,49 +838,49 @@ <h3><a name="packages">Loading Modules from Packages</a><span class="sectionMark
839838

840839
<h3><a name="multiversion">Multiversion Support</a><span class="sectionMark">&sect; 5.2</span></h3>
841840

842-
<p>As mentioned in <a href="#config">Configuration Options</a>, multiple versions of a module can be loaded in a page by using different "context" configuration options. Here is an example that loads two different versions of the alpha and beta modules (this example is taken from one of the test files):</p>
841+
<p>As mentioned in <a href="#config">Configuration Options</a>, multiple versions of a module can be loaded in a page by using different "context" configuration options. require.config() returns a require function that will use the context configuration. Here is an example that loads two different versions of the alpha and beta modules (this example is taken from one of the test files):</p>
843842

844843
<pre><code>&lt;script type="text/javascript" src="../require.js"&gt;&lt;/script&gt;
845844
&lt;script type="text/javascript"&gt;
846-
require({
847-
context: "version1",
848-
baseUrl: "version1"
849-
},
850-
["require", "alpha", "beta",],
851-
function(require, alpha, beta) {
852-
log("alpha version is: " + alpha.version); //prints 1
853-
log("beta version is: " + beta.version); //prints 1
854-
855-
setTimeout(function() {
856-
require(["omega"],
857-
function(omega) {
858-
log("version1 omega loaded with version: " +
859-
omega.version); //prints 1
860-
}
861-
);
862-
}, 100);
863-
}
864-
);
845+
var reqOne = require.config({
846+
context: "version1",
847+
baseUrl: "version1"
848+
});
849+
850+
reqOne(["require", "alpha", "beta",],
851+
function(require, alpha, beta) {
852+
log("alpha version is: " + alpha.version); //prints 1
853+
log("beta version is: " + beta.version); //prints 1
865854

866-
require({
855+
setTimeout(function() {
856+
require(["omega"],
857+
function(omega) {
858+
log("version1 omega loaded with version: " +
859+
omega.version); //prints 1
860+
}
861+
);
862+
}, 100);
863+
});
864+
865+
var reqTwo = require.config({
867866
context: "version2",
868867
baseUrl: "version2"
869-
},
870-
["require", "alpha", "beta"],
871-
function(require, alpha, beta) {
872-
log("alpha version is: " + alpha.version); //prints 2
873-
log("beta version is: " + beta.version); //prints 2
874-
875-
setTimeout(function() {
876-
require(["omega"],
877-
function(omega) {
878-
log("version2 omega loaded with version: " +
879-
omega.version); //prints 2
880-
}
881-
);
882-
}, 100);
868+
});
869+
870+
reqTwo(["require", "alpha", "beta"],
871+
function(require, alpha, beta) {
872+
log("alpha version is: " + alpha.version); //prints 2
873+
log("beta version is: " + beta.version); //prints 2
874+
875+
setTimeout(function() {
876+
require(["omega"],
877+
function(omega) {
878+
log("version2 omega loaded with version: " +
879+
omega.version); //prints 2
883880
}
884-
);
881+
);
882+
}, 100);
883+
});
885884
&lt;/script&gt;
886885
</code></pre>
887886

docs/faq-optimization.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@ <h2><a name="priority">How can I download all script dependencies in parallel?</
7777
&lt;title&gt;Page 1&lt;/title&gt;
7878
&lt;script src="scripts/require.js"&gt;&lt;/script&gt;
7979
&lt;script&gt;
80-
require({
80+
require.config({
8181
priority: ["appcommon", "page1"]
8282
});
8383
&lt;/script&gt;

docs/optimization.html

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -168,13 +168,14 @@ <h2><a name="shallow">Shallow exclusions for fast development</a><span class="se
168168
&lt;link rel="stylesheet" type="text/css" href="css/main.css"&gt;
169169
&lt;script src="scripts/require.js"&gt;&lt;/script&gt;
170170
&lt;script&gt;
171-
require({
171+
require.config({
172172
paths: {
173173
//Comment out this line to go back to loading
174174
//the non-optimized main.js source file.
175175
"main": "main-built"
176176
}
177-
}, ["main"]);
177+
});
178+
require(["main"]);
178179
&lt;/script&gt;
179180
&lt;/head&gt;
180181
&lt;body&gt;

require.js

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1270,7 +1270,7 @@ var requirejs, require, define;
12701270
resume();
12711271
}
12721272
}
1273-
return undefined;
1273+
return context.require;
12741274
},
12751275

12761276
/**
@@ -1482,6 +1482,14 @@ var requirejs, require, define;
14821482
return context.require(deps, callback);
14831483
};
14841484

1485+
/**
1486+
* Support require.config() to make it easier to cooperate with other
1487+
* AMD loaders on globally agreed names.
1488+
*/
1489+
req.config = function (config) {
1490+
return req(config);
1491+
};
1492+
14851493
/**
14861494
* Export require as a global, but only if it does not already exist.
14871495
*/

tasks.txt

Lines changed: 4 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -8,27 +8,18 @@ Release Notes
88
Next release
99
--------------
1010

11-
- Document catchError: define
12-
13-
- Document require for amd list
14-
1511
- programmable builds, web server builds, hmm web build not work on reload?
1612
need to document.
13+
- document pragmasOnSave
1714

18-
- Node 0.5.3 running ./alln.sh in r.js fails:
19-
Error: require.paths is removed. Use node_modules folders, or the NODE_PATH environment variable instead.
20-
at Function.<anonymous> (module.js:360:11)
21-
Figure out a better way, use a module that can be included: var r = require("r"); This
22-
would allow the directory to be the directory of the script...
15+
- A way to support local file/other kinds of caches?
16+
http://groups.google.com/group/requirejs/browse_thread/thread/77092307ac6b9acb
17+
http://www.html5rocks.com/en/tutorials/file/filesystem/#toc-filesystemurls
2318

2419
- Update docs to mention npm install option for r.js: requirejs package, document use,
2520
switch to new docs for running node apps vs. doing the optimization:
2621
require('requirejs') vs r.js -o .....
2722

28-
- Error messages not having useful lineNumber and fileName in Chrome:
29-
https://github.com/jrburke/requirejs/issues/116
30-
31-
3223
Docs:
3324
- rename r.js to be another name, confusing as a shorthand for require.js?
3425

tests/exports/exports-tests.js

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
1-
require({
2-
baseUrl: require.isBrowser ? "./" : "./exports/"
3-
},
1+
require.config({
2+
baseUrl: require.isBrowser ? "./" : "./exports/"
3+
});
4+
5+
require(
46
["require", "vanilla", "funcSet", "assign", "assign2", "usethis",
57
"implicitModule", "simpleReturn"],
68
function(require, vanilla, funcSet, assign, assign2, usethis,

tests/multiversion.html

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -49,11 +49,11 @@
4949
}
5050
);
5151

52-
require(
52+
require.config(
5353
{
5454
context: "version2",
5555
baseUrl: "version2/"
56-
},
56+
})(
5757
["require", "alpha", "beta", "version2/epsilon.js"],
5858
function(require, alpha, beta) {
5959
//Notice no module arg name for epsilon in the function call.
@@ -72,8 +72,7 @@
7272
}
7373
);
7474
}, 100);
75-
}
76-
);
75+
});
7776

7877
return master;
7978
}

tests/text/text.html

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,12 @@
77
<script type="text/javascript" src="../doh/_browserRunner.js"></script>
88
<script type="text/javascript">
99
require({
10-
baseUrl: "./",
11-
paths: {
12-
text: "../../text"
13-
} //, priority: ['widgetlayer']
14-
},
10+
baseUrl: "./",
11+
paths: {
12+
text: "../../text"
13+
} //, priority: ['widgetlayer']
14+
});
15+
require(
1516
["require", "widget", "local", "text!resources/sample.html!strip"],
1617
function(require, widget, local, sampleText) {
1718
doh.register(

0 commit comments

Comments
 (0)