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

时间:2016-05-13 16:38:21

标签: javascript ace-editor

我在项目中使用ace编辑器。我正在尝试按照教程中的内容创建一个HightLight Higlighter section on ace editor page,但是当我使用此代码时:

define(function(require,exports,module){
        //any code here
});

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

  

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

有谁知道为什么会这样?

1 个答案:

答案 0 :(得分:5)

Ace定义了一个名为define的全局函数,该函数正在产生错误。

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

在我的情况下,我有一个由Browserify生成的JS文件,其中包含一堆Node模块,其中一个是使用空数组调用define而不是module param的字符串。因为它是在Ace脚本文件之后包含的,所以它使用了define的Ace版本,它抱怨了相关的错误消息。

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