在 node.js 中使用带有 amdefine 的 requirejs 产生未定义的错误
Using requirejs With amdefine in node.js Producing Undefined Errors
运行 一个简单的服务器:
requirejs = require("requirejs");
if (typeof define !== "function") {
define = require("amdefine")(module);
}
requirejs.config({
nodeRequire: require,
baseUrl: __dirname + "/../.."
});
requirejs([
"url"
], function (
url
) {
console.log(url.parse("http://user:pass@host.com:8080/p/a/t/h?query=string#hash"));
});
产生错误:
TypeError: undefined is not a function at Url.parse (url.js:293:32)
但是,如果我删除行 define = require("amdefine")(module);
,它突然就可以正常工作了。由于我想在我的项目中使用 amdefine
,我该如何解决这个问题?
而不是更改全局变量 define
,您想在每个要使用它的文件中创建一个同名的私有变量。而不是我在上面遇到问题的行,我应该放
if (typeof define !== 'function') { var define = require('amdefine')(module) }
运行 一个简单的服务器:
requirejs = require("requirejs");
if (typeof define !== "function") {
define = require("amdefine")(module);
}
requirejs.config({
nodeRequire: require,
baseUrl: __dirname + "/../.."
});
requirejs([
"url"
], function (
url
) {
console.log(url.parse("http://user:pass@host.com:8080/p/a/t/h?query=string#hash"));
});
产生错误:
TypeError: undefined is not a function at Url.parse (url.js:293:32)
但是,如果我删除行 define = require("amdefine")(module);
,它突然就可以正常工作了。由于我想在我的项目中使用 amdefine
,我该如何解决这个问题?
而不是更改全局变量 define
,您想在每个要使用它的文件中创建一个同名的私有变量。而不是我在上面遇到问题的行,我应该放
if (typeof define !== 'function') { var define = require('amdefine')(module) }