Vue2 Vite项目混合TS和JS,给出错误TS9006

soat7uwm  于 2023-02-05  发布在  Vue.js
关注(0)|答案(1)|浏览(480)

我目前正在将一个旧的Vue 2 webpack(JS)项目迁移到Vite(混合JS和TS)。我也正在从Vuex迁移到Pinia。

商店.ts

interface UserLoginRequestI {
    emailOrUsername?: string;
    password?: string;
}

async login({ emailOrUsername, password }: UserLoginRequestI = {}) {
...
}

登录.版本(仍为JS)

import i18n from './dictionary';
import { useAuthStore } from '@/plugins/auth/store';
import { mapActions, mapState } from 'pinia';
...
methods: {
        ...mapActions(useAuthStore, ['login']),
    },

我的问题是,我得到了一个错误的第一次导入与以下内容:

Declaration emit for this file requires using private name 'UserLoginRequestI' from module '"./store/index"'. An explicit type annotation may unblock declaration emit.ts(9006)

任何帮助都是高度赞赏!

8ehkhllq

8ehkhllq1#

显然,我忘了在UserLoginRequestI接口前面加上"export"。

    • 商店. ts**
export interface UserLoginRequestI {
    emailOrUsername?: string;
    password?: string;
}

相关问题