我尝试使用:requirejs、jquery、knout 和 mustache 来构建一个彩色国际象棋游戏应用程序。
我在 github 和 script 上找到了用小胡子扩展淘汰赛的模板系统,但我无法将它干净地集成到我的代码中。该脚本假定“ko”符号已在其中定义(它是一种插件),但我收到一个参考错误:“ko”未定义...
我有以下目录布局:
project/
www/
index.html
js/
app.js
app/
colorchess.js
ui.js
libs/
jquery.js
ko-min.js
ko.mustache.js
mustache.js
require.js
和以下 JS 文件:
-- app.js --
requirejs.config({
baseUrl : "js/app",
paths : {
"app" : "./app",
"jquery" : "../lib/jquery",
"ko" : "../lib/ko-min",
"mustache" : "../lib/mustache",
"ko.mustache" : "../lib/ko.mustache"
},
shim : {
'ko.mustache' : ['ko', 'mustache']
}
});
requirejs(["colorchess"]);
-- colorchess.js --
require(['ui'], function() {
... main game logic ...
})
-- ui.js --
define(['jquery', 'ko'], function(jquery, ko) {
console.log(ko);
// BUG HERE (in this require)
require(['ko.mustache'], function() {
console.log('ko.mustache');
});
});
所以我的问题肯定是:如何使 'ko' 符号对 'ko.mustache.js' 脚本范围是全局的并修复 ReferenceError 错误?
问候