Объявление нетипизированной зависимости в проекте Vue + TypeScript

Я пытаюсь использовать Библиотека Okta Vue в проекте Vue + TypeScript. Раньше я мог использовать их библиотеку React в проекте React + TypeScript, создав файл okta.d.ts и добавив к нему следующее:

declare module '@okta/okta-react';

Когда я пробую что-то подобное с Vue, я получаю сообщение об ошибке:

This dependency was not found:

* vue/types/vue in ./node_modules/cache-loader/dist/cjs.js??
ref--13-0!./node_modules/babel-loader/lib!./node_modules/ts-loader??
ref--13-2!./node_modules/cache-loader/dist/cjs.js??ref--0-0!
./node_modules/vue-loader/lib??vue-loader-options!
./src/App.vue?vue&type=script&lang=ts&

To install it, you can run: npm install --save vue/types/vue 

Я посмотрел на Документация Vue по TypeScript и обнаружил, что это может быть более вовлечено. Итак, я попробовал:

import Vue from 'vue'

declare module 'vue/types/vue' {
  interface Vue {
    $auth: any
  }
}

Затем я изменил свой main.ts на следующий:

import Vue from 'vue';
import App from './App.vue';
import router from './router';
import './registerServiceWorker';

Vue.config.productionTip = false;

const vue: Vue = new Vue({
  router,
  render: (h) => h(App),
}).$mount('#app');

export const Auth = vue.$auth;

Vue.use(Auth, {
  issuer: ...,
  client_id: ...,
  redirect_uri: window.location.origin + '/implicit/callback',
  scope: 'openid profile email',
});

Однако я по-прежнему получаю ту же ошибку. Любые идеи?

Я немного продвинулся, используя @ типы / okta__okta-vue. Однако я не могу заставить обратный вызов работать после входа в систему. Может быть, это связано с некоторыми изменениями, произошедшими с 1.0.1 (когда был создан модуль @types)? Вот мой router.ts. Я создал пул реквест, чтобы обновить его.

Matt Raible 30.11.2018 00:29

Я смог заставить все работать после того, как создал свой собственный компонент ImplicitCallback. См. github.com/okta/okta-oidc-js/issues/352#issuecomment-4430656‌ 55 для получения дополнительной информации. Auth работает, теперь борюсь с проблемами Vue: github.com/oktadeveloper/spring-boot-vue-example/issues

Matt Raible 30.11.2018 03:32
Зод: сила проверки и преобразования данных
Зод: сила проверки и преобразования данных
Сегодня я хочу познакомить вас с библиотекой Zod и раскрыть некоторые ее особенности, например, возможности валидации и трансформации данных, а также...
Как заставить Remix работать с Mantine и Cloudflare Pages/Workers
Как заставить Remix работать с Mantine и Cloudflare Pages/Workers
Мне нравится библиотека Mantine Component , но заставить ее работать без проблем с Remix бывает непросто.
Угловой продивер
Угловой продивер
Оригинал этой статьи на турецком языке. ChatGPT используется только для перевода на английский язык.
TypeScript против JavaScript
TypeScript против JavaScript
TypeScript vs JavaScript - в чем различия и какой из них выбрать?
Синхронизация localStorage в масштабах всего приложения с помощью пользовательского реактивного хука useLocalStorage
Синхронизация localStorage в масштабах всего приложения с помощью пользовательского реактивного хука useLocalStorage
Не все нужно хранить на стороне сервера. Иногда все, что вам нужно, это постоянное хранилище на стороне клиента для хранения уникальных для клиента...
Что такое ленивая загрузка в Angular и как ее применять
Что такое ленивая загрузка в Angular и как ее применять
Ленивая загрузка - это техника, используемая в Angular для повышения производительности приложения путем загрузки модулей только тогда, когда они...
1
2
394
0

Другие вопросы по теме