Ace Editor 和 Dojo 1.9 与 AMD
Posted
技术标签:
【中文标题】Ace Editor 和 Dojo 1.9 与 AMD【英文标题】:Ace Editor and Dojo 1.9 with AMD 【发布时间】:2013-11-04 00:19:10 【问题描述】:我在将 Ace 编辑器与 Dojo 1.9 一起使用 AMD 加载时遇到问题。
<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】:不要尝试像那样加载 ACE,它会一直失败,即使您设法在加载时调整 require/define。
目前有效的是:
通过脚本标签加载ACE,如示例所示 使用 ace.require 来加载 ACE 扩展/主题,而不是 Dojo 的 require原因:ACE 是用 require-js 构建的,大多数模块也是用 CJS 编写的,而不是 AMD;这意味着您在构建 Dojo 应用程序时也会遇到麻烦。
here 是我的 Dojo ACE 编辑器(抓住你需要的东西)
【讨论】:
以上是关于Ace Editor 和 Dojo 1.9 与 AMD的主要内容,如果未能解决你的问题,请参考以下文章