vuejs2 - Hur man använder globala Typescript-typdeklarationer i Vue SFC?
I Vue2 + Typescript-projekt har jag en global.d.ts-fil med några typer som den här:
global.d.ts
type Nullable<T> = T | undefined | null;
Det fungerar bra (utan att uttryckligen exportera/importera typer) när det används i vanliga .ts-filer:
misc.ts
const answer: Nullable<Answer> = null;
Men det fungerar inte inuti .vue-filer:
component.vue
<script lang="ts">
import Vue from 'vue';
export default Vue.extend({
data: () => ({
answer: null as Nullable<Answer> // 'Nullable' is not defined
})
});
</script>
Triggevågs-saken fungerar inte heller:
<script lang="ts">
/// <reference path="../../types/global.d.ts" />
import Vue from 'vue';
export default Vue.extend({
data: () => ({
answer: null as Nullable<Answer> // 'Nullable' is not defined
})
});
</script>
Finns det någon lösning på detta?
Svar #1
Jag löste det genom att lägga till sökvägen till min katalog med global.d.ts-filen i tsconfig.json:
{
"compilerOptions": {
"typeRoots": [
"./types"
]
}
}
