我正在尝试在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',
});
但是,我仍然遇到相同的错误。有什么想法吗?