Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

682
Views
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 answers
Answer question

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 Report

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!