【发布时间】:2013-12-06 12:21:06
【问题描述】:
main.js 下面
requirejs.config({
baseUrl: ".",
shim: {
p: ['jquery']
},
paths: {
'jquery': '//ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min',
'p': 'p'
}
});
require(['jquery', 'c'], function ($) {
console.log($)
});
下面的c.js
define(['p'], function () {
return {};
});
下面的build.js
({
baseUrl: ".",
name: "main",
out: "main-built.js",
optimize: "none",
mainConfigFile: 'main.js'
})
p.js
$('body').html('p!');
构建命令:
node path/to/r.js -o ./build.js
这是我的 index.html
<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
<script src="../app/libs/requirejs/require.js" data-main="main-built"></script>
</body>
</html>
我在尝试打开此文件时遇到了错误:
Uncaught ReferenceError: $ is not defined
这个问题可以解决吗?
谢谢!
UDP1: 我将此添加到 build.js,但它不起作用
paths: {
jquery: "empty:"
}
【问题讨论】:
-
添加
paths配置后,它是否以与以前完全相同的方式失败?另外,您确定您使用的是新版本的构建文件吗?如果您正在使用从本地文件系统加载文件的浏览器进行测试,您可能会遇到缓存问题。 (清除缓存可确保您加载的是最新文件。) -
是的,它的失败方式与以前完全相同。我使用了 2.1.9 版本的 r.js 和 requirejs。我使用 nginx 作为本地 http 服务器,并清除了浏览器缓存。
标签: jquery requirejs cdn minify r.js