Я хочу использовать редактор Ace в своем проекте vue и webpack, я хочу прикрепить каждый файл к одному экземпляру Ace Document
, поэтому я следую (импорт по умолчанию)
import Ace from 'ace-builds'
Когда я хочудля создания документа.
let doc = new Ace.Ace.Document('')
Но инструменты разработчика Chrome всегда говорят мне
TypeError: Cannot read property Document' of undefined at FileTree.vue:177
и let doc = new Ace.Document('')
также не работают
Iесть один файл js, который импортирует Ace, и он работает хорошо, коды здесь. editor.js
Мои коды (в методах vue: {}):
addFile (e) {
let tree = this.$refs.maintree
if (this.currentNode === undefined) {
this.currentNode = tree.getNode(1)
}
this.openAddFilePrompt().then(({value}) => {
let doc = new Ace.Ace.Document('')
if (this.currentNode.data.detail.type === 'file') {
let parentNode = this.currentNode.parent
tree.append({detail: {type: 'file', src: '', document: doc}, id: this.maxId++, label: value}, parentNode)
return
}
this.maxId++
tree.append({detail: {type: 'file', src: '', document: doc}, id: this.maxId, label: value}, this.currentNode)
}).catch((err) => {
console.log(err)
})
},
Это мой d.ts
файл ace-builds
Как видно из рисунка, интерфейс документа, помещенный в пространство имен Ace, импортирует общий модуль как Ace, поэтому я думаю, что должен новый документОбъект с new Ace.Ace.Document
, который является defaultImport.Namespace.Interface
Интерфейс документа следует.Моя ace-builds
устанавливается через npm export interface Document extends EventEmitter
ace-builds
структура папок выглядит следующим образом
Мой вопрос:
Почему мой импорт не работает, и я не могу создать объект документа?
Я пытался дать вам все, что может помочьты решил мой вопрос