Eu tenho um Vue SFC com dois <script>
blocos: um para configuração e outro para beforeRouteEnter
o manipulador do roteador vue que não pode ser usado na configuração. Ambos podem usar algumas das mesmas importações. Ao executá-lo npm run dev
, é necessário que cada bloco de script o importe independentemente do outro bloco, mas ao executar npm run build
o compilador TypeScript (ou linter) gera um erro:
src/components/MyComponent.vue:72:8 - error TS2300: Duplicate identifier 'auth'.
import auth from '@/auth'
Qual é a abordagem adequada aqui para lidar com esse problema?
A necessidade de usar
script
block para fornecer opções de componentes que não são cobertas pelascript setup
sintaxe é um caso relativamente comum.Desde o Vue 3.3,
defineOptions
a macro é fornecida para esta finalidade: