【发布时间】:2014-10-08 21:46:59
【问题描述】:
我无法将 requirejs 与 whenjs 一起使用,它在运行站点时会出现有关丢失文件的 404 错误。我正在按照whenjs README 中的说明进行操作:
首先,我在项目根目录中运行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/
需要whenjs的文件(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 声明-我不确定我是否应该在那里做其他事情? whenjs 指令没有说 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,我看过the API instructions regarding packages but I'm none the wiser。这是什么意思 whenjs 指令在这里不起作用?我也尝试过其他设置组合,例如组合 paths 和 packages 选项,但无济于事。
这不是一个仅限 Node 或 javascript 的项目,因此不能选择剧烈移动目录。
非常感谢任何帮助。
【问题讨论】:
-
我真的不知道为什么我对此投了反对票。请记住添加评论并投反对票 - 重点是鼓励提出更好的问题,因此请提示需要更改的内容!
标签: javascript requirejs when-js