Невозможно разрушить свойство ‘TouchBarButton’ для ‘TouchBar’ в пользовательском коде расширения BetterDiscord

#javascript #macos #electron

#javascript #macos #electron

Вопрос:

Я новичок в JS и пытаюсь создать расширение BetterDiscord, однако мой код выдает ошибку:

 Cannot destructure property 'TouchBarButton' of 'TouchBar' as it is undefined
 

Код:

 //META{"name":"BetterTouchbar"}*//
const { app, BrowserWindow, TouchBar } = require('electron');
const { TouchBarButton } = TouchBar;
class BetterTouchbar {

    // Constructor
    constructor() {
        this.initialized = false;
    }

    // Meta
    getName() { return "BetterTouchbar"; }
    getShortName() { return "BT"; }
    getDescription() { return "Eek"; }
    getVersion() { return "0.1.0"; }
    getAuthor() { return "Aj3douglas#7472"; }

    start(){
        console.log("Better touchbar has been started!");
        BdApi.showToast("Better touchbar has been launched!")
        // const touchBar = new TouchBar({
        //     items: [],
        // })
        // window.setTouchBar(touchBar)
    }
}
 

Комментарии:

1. Откуда вы получаете const { TouchBarButton } = TouchBar; ? Вам нужно TouchBarButton вставить фигурные скобки первого оператора require.

2. Вы уверены electron , что установили, т.е. у вас есть electron в вашем package.json и запустили npm install ? Поскольку код кажется правильным — electronjs.org/docs/api/touch-bar#examples

3. В следующий раз было бы полезно, если бы вы могли указать тип ошибки, которую вы получаете, и где в вашем коде вы ее получаете. Возможное решение см. В комментарии выше.

4. Здравствуйте, я разобрался с этой проблемой, однако при создании нового экземпляра TouchBarButton я получаю TouchBarButton сообщение, что это не проблема конструктора

5. лучше всего рассказать о том, как вы решили свою проблему для других в будущем, и создать новый вопрос с вашей новой проблемой