typescript - Prístup k aktuálnemu názvu modulu v existujúcej aplikácii vue3/vite
Vo svojej aplikácii vue3/vite/typescript používam import.meta.url a získavam názov súboru, aby som získal názov aktuálneho modulu:
Súbor 'myModule.ts':
export default {
url: import.meta.url
}
Súbor 'test.ts':
import myModule from "./myModule"
console.log(myModule.url)
Toto funguje skvele, pokiaľ spustím vývojový server (ktorý vlastne importuje moduly), ale zlyháva, ak používam zostavenú verziu. Dôvod je, že zostavená verzia je vytvorená pomocou rollup.js, ktorý vytvorí jeden súbor a už nič skutočne neinportuje.
Ale ako by som mohol vôbec získať názov modulu v tomto kontexte? Môžem nejako zachovať fungovanie import.meta alebo je nejaký iný spôsob, ako to dosiahnuť (okrem zdvojovania názvu súboru v url vlastnosti)?
Odpoveď č. 1
Použite getCurrentInstance, toto má väčšinu vecí, ktoré mal this v Options API
import {
getCurrentInstance
} from 'vue'
export default {
setup() {
const instance = getCurrentInstance();
}
}A trochu preskúmaj tento objekt, aby si našiel názov svojej komponenty!
