我们正在使用ACE编辑器编写在服务器端解释的javascript代码。所以服务器有一个JavaScript接口,可以执行提交的代码,从外部完成一些任务。
服务器实现一些ACE不知道的新对象。因此ACE会在代码中使用其中一个未知对象时显示警告。
告诉ACE的正确方法是什么,有一些新对象,变量和函数?我已经看过worker-javascript.js了,但是我想要重新实现这些东西(更新ACE会变得更难)。我可以使用任何接口吗?
答案 0 :(得分:3)
Ace使用jshint,它有一个设置全局变量列表的选项。 Ace支持对worker调用changeOptions来修改它传递给jshint的默认选项,但是没有办法传递gloabals列表
您可以通过更改https://github.com/ajaxorg/ace/blob/v1.1.8/lib/ace/mode/javascript_worker.js#L130处的行来添加它
到lint(value, this.options, this.options.globals);
并从您的代码中调用
editor.session.$worker.call("changeOptions", [{
globals: {foo: false, bar: false...},
undef: true, // enable warnings on undefined variables
// other jshint options go here check jshint site for more info
}]);
对worker.js#L130的更改很简单,如果您向ace提出拉取请求,则应该接受