【发布时间】:2013-06-01 05:56:56
【问题描述】:
我在尝试通过 requirejs 很好地使用淘汰赛时遇到了问题(从这里的帖子数量来看,其他人也是如此!)。我在这里读到的任何内容都没有遇到过这个问题。
下面是我的 require 配置:
requirejs.config({
"baseUrl": "/js",
"paths": {
"Model": "App/Model",
"Development": "App/Development",
"Property": "App/Property",
"codemirror": "vendor/codemirror/codemirror-2.37/lib/codemirror",
"galleria": "vendor/galleria/galleria-1.2.9",
"jquery": "vendor/jquery/jquery-2.0.0",
"jquery-ui": "vendor/jquery-ui/jquery-ui-1.10.2",
"jshint": "vendor/jshint/jshint-1.1.0",
"knockout": "vendor/knockout/knockout-2.2.1",
"signalr": "vendor/signalR/jquery.signalR-1.0.1"
},
"shim": {
"galleria": {
deps: ["jquery"]
},
"jquery-ui": {
deps: ["jquery"]
},
"signalr": ["jquery"],
"/signalr/hubs": {
deps: ["jquery", "signalr"]
},
"Development/ViewModel/CreateDevelopment": {
deps: ["signalr", "knockout"]
},
"knockout": {
deps: ["jquery"],
exports: "knockout"
}
}
});
所以这应该得到我所有的依赖,而且确实如此。这是要求位:
require(["Development/ViewModel/CreateDevelopment"], function (CreateDevelopment) {
$.connection.hub.start().done(function() {
if (CreateDevelopment !== undefined && CreateDevelopment !== null) {
var createDevelopment = new CreateDevelopment();
createDevelopment.init();
}
});
})
我可能需要引入 singalr jquery 位,但这不是我遇到问题的地方。
当我定义我的模块时,我不断收到以下错误:
Uncaught Error: Pass a function that returns the value of the ko.computed (Line 44)
这是我的模块
define(["Model/developmentType", "knockout", "signalr", "/signalr/hubs"], function (developmentType, ko)
现在,如果我使用 console.log(ko),我可以看到库中的所有内容,所以我不明白为什么我不断收到此错误。
require 获取库的顺序如下:
- RequireJS
- 主要 AppJs
- jQuery
- Jquery SignalR
- 淘汰赛
- 视图模型
- 型号
-
集线器
未捕获的错误:传递一个返回 ko.computed 值的函数
调用堆栈:
对此的任何帮助都将受到极大的欢迎!
【问题讨论】:
-
你能分享那个文件的第 44 行吗?
-
它是 knockoutjs 库 - 它已被缩小:(
-
你能得到调用堆栈吗?需要查看正在定义的 ko.computed。似乎不是专门的 require.js 问题。
-
使用调用堆栈更新问题
标签: knockout.js requirejs