Javascript 将ACE编辑器与Keystonejs应用程序集成的问题

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

它说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.
  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不需要它。