我正在尝试使用require.js,这对我来说是新的,但我不能让它工作。在为初学者学习了一些简单的教程之后,我开始创建我的第一个(相当简单的项目)。
我正在使用visual studio 2013(因为我是.net人) 这是我的文件结构的快速方法
./content
/*a bunch of css files*
./Scripts
/jquery-1.9.1.js
/sandbox.js (!! my library !!)
.index.html (on the root)
.app.js (on the root)
这是我的模块:sandbox.js
//sandbox.js
require.config({
paths:{
"jquery":"/Scripts/jquery-1.9.1"
}
});
define(["jquery"], function($){
var show_name = function(n){
alert(n);
};
return{
showName : display_name
}
});
现在在app.js中我使用了模块sandbox.js。这是如何
// app.js
require(["/Scripts/sandbox"], function(sandbox){
sandbox.showName('John');
});
最后在index.html中,我加载了require.js文件:
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
</head>
<body>
<script src="/Scripts/require.js" data-main="/Scripts/sandbox"></script>
<script src="app.js"></script>
</body>
</html>
但是当我运行此代码时,我收到了错误
0x800a139e - JavaScript运行时错误:脚本错误:/ Scripts / sandbox http://requirejs.org/docs/errors.html#scripterror
app.js
中发生此错误require(['/Scripts/sandbox'], function (sandbox) {
sandbox.showName("John");
});
显然,我使用模块sandbox.js的方式有问题。但我无法弄清楚错误是什么。
非常感谢任何帮助。
答案 0 :(得分:3)
/Scripts/*
更改为Scripts/*
。Scripts/sandbox
,即您的baseUrl设置为Scripts/
。所以你的app.js
应该是这样的:
require(["sandbox"], function(sandbox){
sandbox.showName('John');
});
您的sandbox.js
应该是:
require.config({
paths:{
"jquery":"jquery-1.9.1"
}
});
define(["jquery"], function($){
var show_name = function(n){
alert(n);
};
return{
showName : display_name
}
});