Jelajahi Sumber

Important fix: parameter require shadowed node's.

Thus, require('path') failed miserably.
I was too confident that I make a vert simple change and did not test.
Renamed all uses of require parameter to requireFn by refactor tool.
This code is tested to work.
Herbert Vojčík 10 tahun lalu
induk
melakukan
c69921ff55
1 mengubah file dengan 5 tambahan dan 5 penghapusan
  1. 5 5
      amdefine.js

+ 5 - 5
amdefine.js

@@ -12,13 +12,13 @@
  * Creates a define for node.
  * Creates a define for node.
  * @param {Object} module the "module" object that is defined by Node for the
  * @param {Object} module the "module" object that is defined by Node for the
  * current module.
  * current module.
- * @param {Function} [require]. Node's require function for the current module.
+ * @param {Function} [requireFn]. Node's require function for the current module.
  * It only needs to be passed in Node versions before 0.5, when module.require
  * It only needs to be passed in Node versions before 0.5, when module.require
  * did not exist.
  * did not exist.
  * @returns {Function} a define function that is usable for the current node
  * @returns {Function} a define function that is usable for the current node
  * module.
  * module.
  */
  */
-function amdefine(module, require) {
+function amdefine(module, requireFn) {
     'use strict';
     'use strict';
     var defineCache = {},
     var defineCache = {},
         loaderCache = {},
         loaderCache = {},
@@ -138,7 +138,7 @@ function amdefine(module, require) {
     };
     };
 
 
     //Favor explicit value, passed in if the module wants to support Node 0.4.
     //Favor explicit value, passed in if the module wants to support Node 0.4.
-    require = require || function req() {
+    requireFn = requireFn || function req() {
         return module.require.apply(module, arguments);
         return module.require.apply(module, arguments);
     };
     };
 
 
@@ -152,7 +152,7 @@ function amdefine(module, require) {
                 uri: __filename,
                 uri: __filename,
                 exports: e
                 exports: e
             };
             };
-            r = makeRequire(require, e, m, id);
+            r = makeRequire(requireFn, e, m, id);
         } else {
         } else {
             //Only support one define call per file
             //Only support one define call per file
             if (alreadyCalled) {
             if (alreadyCalled) {
@@ -165,7 +165,7 @@ function amdefine(module, require) {
             //the exports in here is amdefine exports.
             //the exports in here is amdefine exports.
             e = module.exports;
             e = module.exports;
             m = module;
             m = module;
-            r = makeRequire(require, e, m, module.id);
+            r = makeRequire(requireFn, e, m, module.id);
         }
         }
 
 
         //If there are dependencies, they are strings, so need
         //If there are dependencies, they are strings, so need