Javascript 将ACE编辑器与Keystonejs应用程序集成的问题
它说here()只需将src*子目录中的一个子目录复制到您的项目中 我已经把它放在mykeysteapp/public/js中(我的默认主页是mykeysteapp/public) 以下是我得到的错误: 1.未捕获类型错误:$.cookie不是函数(ui.js:8) 2.未捕获错误:缺少匿名define()模块:函数…(require.js:141) 这是我的玉码:Javascript 将ACE编辑器与Keystonejs应用程序集成的问题,javascript,node.js,ace-editor,keystonejs,Javascript,Node.js,Ace Editor,Keystonejs,它说here()只需将src*子目录中的一个子目录复制到您的项目中 我已经把它放在mykeysteapp/public/js中(我的默认主页是mykeysteapp/public) 以下是我得到的错误: 1.未捕获类型错误:$.cookie不是函数(ui.js:8) 2.未捕获错误:缺少匿名define()模块:函数…(require.js:141) 这是我的玉码: script(src='/js/ace/demo/kitchen-sink/require.js') script. req
script(src='/js/ace/demo/kitchen-sink/require.js')
script.
require.config({paths: {ace: "/js/ace/build/src"}});
define('testace', ['ace/ace'],
function(ace, langtools) {
console.log("This is the testace module");
var editor = ace.edit("editor_container");
editor.setTheme('eclipse');
editor.session.setMode('javascript');
require(["/js/ace/lib/ace/requirejs/text!src/ace"], function(e){
editor.setValue(e);
})
});
require(['testace']);
其次,如果我将调试器放在EventEmitter()中
我可以看到它已正确到达EventEmitter.\u dispatchEvent with
eventName='changeMode',但它返回时不进行任何操作,因为没有!监听器或defaultHandler('javascript')错误,应该是
editor.session.setMode('ace/mode/javascript')代码>取而代之。相同的主题应该是ace/theme/eclipse
ui.js中的错误与ace无关,因为ace没有名为ui的文件。这不会改变任何东西,它仍然是listeners=[]和defaultHandler=undefined。事实上,在发布问题之前,我尝试了所有可能的路径组合。的确,require.js和ui.errors可能不是ace的一部分,但一旦我注释掉requirejs和ace调用,错误就会消失。我认为,listeners=[]和defaultHandler=undefined是正常的,如果你能给我一个在线演示的链接,我可以帮你调试它。你正在加载的脚本不是ace.js,而是它的修改版本,第3283行有一个未定义的变量eventName
,很抱歉代码不干净。还原了所有的实验性更改,现在您可以看看您现在正在使用ace 0.1吗?请使用来自的最新版本。为什么加载require.js?使用ace不需要它。