typescript - Bila tsconfig.vitest.json digunakan dalam projek vue@3 lalai?
Apabila saya membuat projek vue@3 lalai (npm init vue@3), saya mendapat beberapa fail tsconfig. Salah satunya ialah tsconfig.vitest.json. Bila sebenarnya fail ini digunakan? Saya boleh lihat bahawa ia digunakan untuk "type check" (dari package.json):
"scripts": {
"type-check": "vue-tsc --noEmit -p tsconfig.vitest.json --composite false"
},
Walau bagaimanapun, namanya menunjukkan bahawa ia sepatutnya digunakan apabila anda menjalankan Vitest itu sendiri. Namun, saya tidak dapat melihat apa-apa yang akan menyebabkan Vitest menggunakan fail konfigurasi ini. Nama lalai bagi fail konfigurasi Vitest ialah vitest.config.ts. Jadi tepatnya bilakah, dalam keadaan apa, fail tsconfig.vitest.json digunakan?
Jawapan #1
tsconfig.vitest.json adalah fail konfigurasi TypeScript, ia hanya berguna untuk TypeScript, ia tidak mengubah apa-apa untuk menjalankan vitest.
Fail ini berguna kerana anda boleh mempunyai konfigurasi typescript yang berbeza antara fail app anda dan fail spesifikasi ujian anda. Ini kebanyakannya diingini kerana fail app anda dijalankan dalam pelayar manakala ujian dijalankan dalam persekitaran node di mana mereka boleh mengakses API node seperti fs.
Contoh :
// AppFile.js
import fs from 'fs' // will report a typescript error
// __tests__/myTest.spec.js
import fs from 'fs' // OK
Ia adalah baris ini dalam tsconfig.vitest.json yang membolehkan penggunaan API node:
"types": ["node", "jsdom"]
Jawapan #2
Ia adalah konfigurasi untuk pemampat tsc, vue-tsc berdasarkan.
