ACE编辑器删除模块因为define不是字符串

jro*_*uez 3 javascript ace-editor

我正在项目中使用ace编辑器.我正在尝试创建一个HightLight,遵循ace编辑器页面上的Higlighter部分的教程 ,但是当我使用这段代码时:

define(function(require,exports,module){
        //any code here
});
Run Code Online (Sandbox Code Playgroud)

我在Web控制台中收到此错误:

删除模块因为define不是字符串.

有谁知道它为什么会发生?

Bob*_*son 6

Ace定义了一个名为的全局函数define,该函数就是产生错误的函数.

如果您有任何其他JS库(特别是CommonJS或AMD模块)调用define,如果Ace加载之前它们将最终调用Ace版本.

在我的例子中,我有一个由Browserify生成的JS文件,其中包含一堆Node模块,其中一个是define使用空数组而不是moduleparam 的字符串调用.并且因为它包含在Ace脚本文件之后,它使用的是Ace版本define,它抱怨了相关的错误消息.

更改脚本的顺序包括可能会解决此问题(将您的其他基于模块的脚本包括在Ace脚本包括上面).这对我有用.