Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

683
Visualizações
Vue 3: Módulo '"../../node_modules/vue/dist/vue"' no tiene miembro exportado

Después de actualizar mis paquetes npm, algunas de las importaciones del módulo 'vue' comenzaron a mostrar errores:

TS2305: Módulo '"../../node_modules/vue/dist/vue"' no tiene miembro exportado 'X'

donde X es nextTick, onMounted, ref, watch, etc. Al servir el proyecto, Vue dice que "no se pudo compilar". WebStorm realmente reconoce las exportaciones, las sugiere y muestra los tipos, pero el error se muestra de todos modos. Algunas exportaciones como computed y defineComponent funcionan bien.

Lo que he probado:

  • Retroceda a la versión de Vue utilizada anteriormente "3.2.2"> "3.0.11". Hace que desaparezcan los errores de tipo mencionados anteriormente, pero la aplicación deja de funcionar por completo y muestra muchos errores de TypeError: Object(...) is not a function en la consola y no muestra la aplicación en absoluto. En la terminal, se introducen algunas advertencias nuevas: "export 'X' (imported as '_X') was not found in 'vue' donde X es createElementBlock, createElementVNode, normalizeClass y normalizeStyle.
  • Revertir otras dependencias. Desafortunadamente, ninguno de los que probé ayudó a solucionar el problema.
  • Declare manualmente la totalidad del módulo 'vue'. Podemos declarar las exportaciones del módulo 'vue' en shims-vue.d.ts, y en realidad hace que los errores desaparezcan, sin embargo, esto parece una solución terrible que requiere mucho tiempo, por lo que optaría por una mejor solución si es posible. .

Mi lista completa de dependencias:

 "dependencies": { "@capacitor/android": "3.0.0", "@capacitor/app": "1.0.0", "@capacitor/core": "3.0.0", "@capacitor/haptics": "1.0.0", "@capacitor/keyboard": "1.0.0", "@capacitor/push-notifications": "^1.0.3", "@google-pay/button-element": "^2.5.0", "@ionic-native/core": "^5.34.0", "@ionic-native/qr-scanner": "^5.35.0", "@ionic-native/vibration": "^5.34.0", "@ionic/vue": "^5.4.0", "@ionic/vue-router": "^5.4.0", "@jt-mcc/vue3-chartjs": "^1.1.2", "chart.js": "^3.4.1", "chartjs-plugin-datalabels": "^2.0.0", "color": "^3.1.3", "cordova-plugin-background-mode": "^0.7.3", "cordova-plugin-device": "^2.0.3", "cordova-plugin-qrscanner": "^3.0.1", "core-js": "^3.6.5", "firebase": "^8.6.2", "numeral": "^2.0.6", "pug": "^3.0.2", "pug-plain-loader": "^1.1.0", "secure-ls": "^1.2.6", "uuid": "^8.3.2", "v-cupertino": "^1.2.4", "vue": "^3.2.0", "vue-chartjs": "^3.5.1", "vue-i18n": "^9.1.3", "vue-numerals": "^4.0.6", "vue-router": "^4.0.0-0", "vuex": "^4.0.1" }, "devDependencies": { "@capacitor/cli": "3.0.0", "@types/jest": "^24.0.19", "@types/uuid": "^8.3.1", "@typescript-eslint/eslint-plugin": "^2.33.0", "@typescript-eslint/parser": "^2.33.0", "@vue/cli-plugin-babel": "~4.5.0", "@vue/cli-plugin-e2e-cypress": "~4.5.0", "@vue/cli-plugin-eslint": "^4.5.13", "@vue/cli-plugin-router": "~4.5.0", "@vue/cli-plugin-typescript": "~4.5.0", "@vue/cli-plugin-unit-jest": "~4.5.0", "@vue/cli-service": "~4.5.0", "@vue/compiler-sfc": "^3.0.0-0", "@vue/eslint-config-typescript": "^5.0.2", "@vue/test-utils": "^2.0.0-0", "eslint": "^6.7.2", "eslint-plugin-vue": "^7.0.0-0", "stylus": "^0.54.7", "stylus-loader": "^3.0.2", "typescript": "~3.9.3", "vue-jest": "^5.0.0-0" }

Enlace para reproducir

over 4 years ago · Santiago Trujillo
2 Respostas
Responde à pergunta

0

Que las exportaciones nombradas de la API de composición no estén disponibles significa que vue es Vue 2 en algún lugar que solo tiene exportación predeterminada. Dado que Vue 3 está en dependencies y tanto el archivo de bloqueo como los node_modules se actualizaron, esto significa que Vue 2 es una dependencia anidada de alguna dependencia directa.

El problema debe investigarse en el archivo de bloqueo. Muestra que @vue/cli-plugin-unit-jest@4.5.13 depende de vue-jest@3 que depende de vue@2 .

Una posible solución es actualizar @vue/cli-plugin-unit-jest a la última versión, a next . Es probable que lo mismo se aplique a otros paquetes @vue/cli-* porque tienen versiones coincidentes.

over 4 years ago · Santiago Trujillo Relatório

0

Como mencioné en los comentarios, en mi caso, el truco fue actualizar TypeScript de la versión "3.xx" a "4.3.5" (otras versiones 4.xx también deberían funcionar, pero no las he probado yo mismo) . En cuanto a por qué este es el caso, mi teoría es que alguna dependencia relacionada con vue se volvió incompatible con la versión 3.x de TypeScript después de la actualización.

over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda