我正在学习require.js,并认为我只是错过了一些东西。我不明白它如何加载文件。我不明白require.js如何处理加载路径。我每次定义模块时都需要使用require.config吗?
我有我的jQuery文件在lib目录中。
这不起作用:
这表明,jQuery是加载在Chrome网络面板。错误是:Uncaught TypeError:undefined不是一个函数。所以它基本上是说$是未定义的。
require(['lib/jquery'],function($) {
$(document).ready(function(){
alert('hello');
});
});
这工作:
require.config({
paths: {
jquery: 'lib/jquery'
}
});
require(['jquery'],function($) {
$(document).ready(function(){
alert('hello');
});
});
在其他的例子,我在网上看到你没有设置与require.config的路径。每次我想要定义一个模块时,我都必须这样做吗?我知道我在使用require而不是在这种情况下定义,但是我对define方法有同样的问题。每次我使用define创建一个模块时,我必须使用require.config()来设置路径。我想我在这里错过了一些东西。任何人都可以将我指向正确的方向吗?
是的,我读到了,但我感到不自在,因为我不确定它从哪里获取jquery以及它抓取的是什么版本。我宁愿自己托管文件。另外,我正在使用其他库,主要是关于如何加载路径的困惑。我有同样的问题加载underscore.js – 2012-08-01 03:51:56
@SpencerCooley RequireJS不支持underscorejs开箱即用。您必须记住RequireJS中无法加载任意脚本。只能使用AMD格式的脚本。有加载下划线的技巧,所以我的猜测是你确实了解如何加载路径,你只是没有尝试加载实际上可以加载的脚本。 – 2012-08-01 03:55:08
我明白你的意思了。我刚刚发现这个https://github.com/amdjs/underscore.git – 2012-08-01 04:01:25