我无法使用与to一起使用的请求,在运行站点时,它会给出404个有关缺少文件的错误。我正在遵循当自述中的说明
首先,在项目根dir中运行git submodule add https://github.com/cujojs/when。
然后在app/public/js/main.js中“用包配置加载程序”
requirejs.config({
baseUrl: "js",
packages: [
{
name: "when",
path: "../../../when",
main: "when"
}
]
});这就留下了以下目录布局:
project-root/
app/
public/
js/
main.js
helpers/
myhelper.js
when/当has具有以下内容时所需的文件(myhelper.js):
define(['when'], function(When) {这会产生错误。
GET http://localhost:4580/js/when/when.js 404 (Not Found)
我尝试将js文件从project-root/when复制到app/public/js/libs/when中。
project/
app/
public/
js/
main.js
helpers/
myhelper.js
libs/
when/并使用以下代码:
//main.js
requirejs.config({
baseUrl: "js",
packages: [
{
name: "when",
path: "libs/when",
main: "when"
}
]
});
//myhelper.js
define(['when'], function(When) {产生相同的错误:
GET http://localhost:4580/js/when/when.js 404 (Not Found)
似乎myhelper.js中的任何内容都忽略了packages声明--我不确定是否还有其他我应该做的事情?当to指令没有说的时候。
我试过这个:
//main.js
requirejs.config({
baseUrl: "js",
packages: [
{
name: "when",
path: "libs/when",
main: "when"
}
],
paths: {
w: "./libs/when"
}
});
//myhelper.js
define(['w/when'], function(When) {这不会产生错误--尽管我还没有尝试用它来使用库,但是…
Requirejs的版本是v2.1.8,我读过有关软件包的API说明,但我一点也不明智。当is指令在这里不起作用是什么意思?我也尝试过其他设置组合,比如组合paths和packages选项,但都没有效果。
这不是Node或javascript唯一的项目,因此目录的剧烈移动不是一个选项。
任何帮助都是非常感谢的。
发布于 2013-10-25 07:17:36
尝试使用paths属性requirejs.config:如果将when.js置于js/libs/when/when.js下,则可以尝试:
requirejs.config({
paths: {
'when': 'libs/when/when'
}
});
define(['when'], function(When) {...如果您的baseUrl标记包含它,甚至不需要它,但是如果您想要的话,可以指定它。
这将解决库加载问题,但如果when.js不支持AMD,则可以将shim添加到配置中:
shim: {
'when': {
exports: 'When'
}
}https://stackoverflow.com/questions/19583200
复制相似问题