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

Issues Integrating ACE Editor with Keystonejs App

这里说(http://ace.c9.io/#nav=embedding)只需将其中一个 src* 子目录复制到您的项目中 我把它放在mykeystoneapp/public/js(我的默认家是mykeystoneapp/public)

这是我得到的错误:

1.Uncaught TypeError: $.cookie 不是函数(ui.js:8)

2.Uncaught 错误:遗漏了匿名 define() 模块:函数 …(require.js:141) http://requirejs.org/docs/errors.html#mismatch

这是我的 Jade 代码:

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(https://github.com/ajaxorg/ace-builds/blob/master/src/ace.js#L3300) 我可以看到它正确地达到 EventEmitter._dispatchEvent eventName=‘changeMode’ 但它 returns 没有任何操作,因为没有 !listeners 或 defaultHandler

editor.session.setMode('javascript');是错误的,应该是editor.session.setMode('ace/mode/javascript');。与主题相同,应该是 ace/theme/eclipse.

ui.js 中的错误与 ace 无关,因为 ace 没有名为 ui.

的文件