我在项目中使用ace编辑器。我正在尝试按照教程中的内容创建一个HightLight Higlighter section on ace editor page,但是当我使用此代码时:
define(function(require,exports,module){
//any code here
});
我在网络控制台中收到此错误:
删除模块,因为define不是字符串。
有谁知道为什么会这样?
答案 0 :(得分:5)
Ace定义了一个名为define
的全局函数,该函数正在产生错误。
如果您有任何其他JS库(特别是CommonJS或AMD模块)调用define
,如果Ace加载之前它们将最终调用Ace版本。
在我的情况下,我有一个由Browserify生成的JS文件,其中包含一堆Node模块,其中一个是使用空数组调用define
而不是module
param的字符串。因为它是在Ace脚本文件之后包含的,所以它使用了define
的Ace版本,它抱怨了相关的错误消息。
更改脚本的顺序包括可能会解决此问题(将您的其他基于模块的脚本包括在Ace脚本包括上面)。这对我有用。