2015-02-11 40 views
0

运行一个简单的服务器:使用requirejs随着amdefine在node.js中生产未定义错误

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:[email protected]: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,我该如何解决这个问题?

回答

0

而是改变了全局变量define的,你要在其中创建要在使用它的每个文件同名的私有变量。相反,我曾与上述麻烦的路线,我应该把

if (typeof define !== 'function') { var define = require('amdefine')(module) } 
+0

你能发表一个完整的例子吗? – linuxdan 2016-04-14 21:24:31

相关问题