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

时间:2015-06-01 01:35:36

标签: javascript node.js ace-editor keystonejs

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

以下是我得到的错误:

1.未捕获TypeError:$ .cookie不是函数(ui.js:8)

2.未捕获错误:错过了匿名的define()模块:function ...(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'但它没有任何操作就返回,因为没有!listeners或defaultHandler

1 个答案:

答案 0 :(得分:0)

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

ui.js中的

错误与ace无关,因为ace没有名为ui的文件。