Регистрация стороннего пакета в проекте Vue при использовании машинописи - PullRequest
0 голосов
/ 07 апреля 2019

Я установил пакет в своем проекте vue.js, который я создал с помощью vue-cli, и я использую с ним машинопись.Пакет для социальной аутентификации для Google.https://www.npmjs.com/package/vue-google-oauth2

Теперь, когда я импортировал пакет в мой файл main.ts, он выдаст сообщение об ошибке следующим образом:

Не удалось найти файл объявления для модуля 'vue-google-oauth2.неявно имеет тип 'any'.

Попробуйте npm install @types/vue-google-oauth2, если он существует, или добавьте файл нового объявления (.d.ts), содержащий declare module 'vue-google-oauth2';

Iизбавился от ошибки, просто добавив строку declare module 'vue-google-oauth2'; в мой файл shims.d.ts.Однако теперь, когда эта проблема решена, я все еще получаю еще одну ошибку в моем терминале, даже если приложение работает нормально.Новая ошибка выглядит следующим образом:

Свойство '$ gAuth' не существует для типа 'AuthMixin'

, в основном я использую это. $ GAuth и даже если оноработает, терминал все еще говорит, что он не существует в моем экземпляре vue.Как я могу устранить эту ошибку?

1 Ответ

1 голос
/ 08 апреля 2019

Я не уверен, как работает vue-google-oauth2, но я предполагаю, что он добавляет глобальный миксин с геттером $gAuth. В этом случае у вас есть 2 варианта:

Объявите типы для $gAuth:

declare module 'vue/types/vue' {

    interface Vue {
        $gAuth: any; // or specify gAuth type if .d.ts is provided
    }
}

Или используйте синтаксис ключа объекта:

this['$gAuth']() // or w/e you use to call it
...