打字稿:'typeof aceAjax'类型不存在属性要求

时间:2018-01-26 16:41:16

标签: typescript ace-editor

我正在尝试为ace编辑器创建自定义自动填充程序。我读过的所有文件都说我需要使用ace.require('ace/ext/language_tools')来创建自动完成器。但我甚至无法让ace.require()工作。我不确定我的package.json或.ts文件本身是否遗漏了什么。

我关注的示例文章: https://github.com/ajaxorg/ace/wiki/How-to-enable-Autocomplete-in-the-Ace-editor

我的package.json ace依赖项设置如

"dependencies": {
    "@types/ace": "0.0.36",
    "ace": "^1.3.0",
    "ace-builds": "^1.2.9",
    "brace": "^0.11.0"
},

我的editor.ts文件很简单:

import * as ace from 'brace';

class RqlEditor {
    private initAutocompleter(...irrelevant);

    public init(customMetadataProperties: String[]) {
        const langTools = ace.require('ace/ext/language_tools');

        langTools.addCompleter(this.initAutocompleter(customMetadataProperties));
        const editor = ace.edit('container');
        editor.setOptions({
            enableBasicAutocompletion: true,
        });    
    }
}

export default RqlEditor;

1 个答案:

答案 0 :(得分:0)

当然,经过几个小时的搜索,我在提问后20分钟找到答案。我正在使用带有webpack的大括号,所以我只需要import 'brace/ext/language_tools。然后我使用ace.acequire('ace/ext/language_tools')

而不是使用ace.require