在Vue + TypeScript项目中声明无类型的依赖项

时间:2018-11-29 18:37:01

标签: typescript vue.js okta

我正在尝试在Vue + TypeScript项目中使用Okta's Vue library。过去,我可以通过创建okta.d.ts文件并将以下内容添加到React + TypeScript项目中来使用他们的React库:

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's TypeScript documentation,发现可能涉及的更多。所以我尝试了:

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',
});

但是,我仍然遇到相同的错误。有什么想法吗?

0 个答案:

没有答案