Ace编辑器和带有AMD的Dojo 1.9

时间:2013-11-04 00:19:11

标签: javascript dojo amd ace-editor

我在使用AMD加载例如。

包含带有Dojo 1.9的Ace编辑器时遇到了麻烦
<script type="text/javascript">
    require([
        'dojo/on',
        'dojo/dom',
        'somelocal/folder/ace'
        'dojo/domReady!'
    ],
            function(
                    on,
                    dom,
                    ace
                    ) {
                var editor = ace.edit("editor");
                editor.setTheme("ace/theme/github");
                editor.getSession().setMode("ace/mode/twig");
            });
</script>

我收到错误:

TypeError: _define.modules is undefined
var module = _define.modules[moduleName];

如何在dojo中包含上述Ace?

由于

1 个答案:

答案 0 :(得分:0)

不要尝试像这样加载ACE,它会一直失败,即使你在加载时设法调用require / define。

到目前为止有效的是:

  • 通过脚本标记加载ACE,如示例
  • 所示
  • 使用ace.require加载ACE扩展/主题而不是Dojo的要求

原因:ACE已经使用require-js构建,大多数模块也是用CJS而不是AMD编写的;这意味着您在构建Dojo应用程序时也会遇到麻烦。

here是我对Dojo的ACE编辑器(抓住你需要的东西)