Concernant ton erreur: Uncaught TypeError: _App_vue__WEBPACK_IMPORTED_MODULE_1__.default.mount is not a function mount est utilisé quand tu crée ton application vue( Vue.createApp) donc revois ça
quand aux autres j'ai jamais rencontré cette erreur, regarde sur stackoverflow.com voir si tu vas trouver une solution ou ecrit dans le serveur discord de grafikart :)
Salut les experts Front-end qui utilisent les technos du futur (en l'occurence du présent...) !,
Je souhaiterais développer une application web fonctionnant avec VueJS, et dont les scripts sont "compilés" avec Webpack.
J'ai installé Vue et Webpack avec Npm.
Voici la structure de mon dossier :
Dépendances dans le "package.json"
Contenu du "webpack.config.js"
Je n'ai pas d'erreur ou d'alerte lors de la compilation du fichier "main.js".
Le fichier "main.js" est bien généré dans le dossier "dist", avec les élements contenu dans le "app.js", j'appel bien le fichier dans mon "template.html".
Mon problème
Mon template n'est pas interprété par Vue, puisque Vue n'est apparement pas chargé.
Voici les différents essais que j'ai effectué, avec le message visible dans la console pour chaque erreur :
Ce que je veux
Je veux pouvoir importer et utiliser Vue dans mon script.
Ce que j'obtiens
Bah ça marche pâ... :( voir les morceaux de code ci-dessus.
Vous noterez que j'utilise Tailwind pour le CSS, mais je ne pense pas que cela ait une incidence.
En vous rmerciant par avance pour vos lumières,
Mickaël
4 réponses
OK Merci pour la réponse,
En fait, le problème est en amont : Vue n'est pas importé par WebPack.
Si je fait un console.log(Vue); j'ai "undefined" en retour.
Et dans le log de la compil webpack, cette fois j'ai bien un avertissement, voici le log complet avec la commande :
Je vais continuer de chercher de mon côté, mais si vous avez des idées je suis preneur parce que je suis un point coincé.
C'est bon j'ai trouvé, je ne faisais pas l'import comme il faut (apparement parce que je n'étais pas sur la bonne doc ^^).
En fait, il faut faire :
pour que Vue soit bien importé.
J'ajoute que j'ai du palier un autre problème, le template était bien traité mais le html de mon bloc "#app" était vide.
Problème réglé en faisant ceci :
Bonjour si tu veux importé Vue en tant que valeur par défaut tu peux utiliser cette syntaxe:
Qui peut se traduire par: importe tous en tant que Vue
En faite Webpack va importé tous les composants exporté par vue voir le warning:
(possible exports: BaseTransition, Comment, EffectScope, Fragment, KeepAlive, ReactiveEffect, Static, Suspense, Teleport, Text, Transition, TransitionGroup, VueElement, callWithAsyncErrorHandling, callWithErrorHandling, camelize, capitalize, cloneVNode, compatUtils, compile, computed, createApp, createBlock, createCommentVNode, createElementBlock, createElementVNode, createHydrationRenderer, createPropsRestProxy, createRenderer, createSSRApp, createSlots, createStaticVNode, createTextVNode, createVNode, customRef, defineAsyncComponent, defineComponent, defineCustomElement, defineEmits, defineExpose, defineProps, defineSSRCustomElement, devtools, effect, effectScope, getCurrentInstance, getCurrentScope, getTransitionRawChildren, guardReactiveProps, h, handleError, hydrate, initCustomFormatter, initDirectivesForSSR, inject, isMemoSame, isProxy, isReactive, isReadonly, isRef, isRuntimeOnly, isShallow, isVNode, markRaw, mergeDefaults, mergeProps, nextTick, normalizeClass, normalizeProps, normalizeStyle, onActivated, onBeforeMount, onBeforeUnmount, onBeforeUpdate, onDeactivated, onErrorCaptured, onMounted, onRenderTracked, onRenderTriggered, onScopeDispose, onServerPrefetch, onUnmounted, onUpdated, openBlock, popScopeId, provide, proxyRefs, pushScopeId, queuePostFlushCb, reactive, readonly, ref, registerRuntimeCompiler, render, renderList, renderSlot, resolveComponent, resolveDirective, resolveDynamicComponent, resolveFilter, resolveTransitionHooks, setBlockTracking, setDevtoolsHook, setTransitionHooks, shallowReactive, shallowReadonly, shallowRef, ssrContextKey, ssrUtils, stop, toDisplayString, toHandlerKey, toHandlers, toRaw, toRef, toRefs, transformVNodeArgs, triggerRef, unref, useAttrs, useCssModule, useCssVars, useSSRContext, useSlots, useTransitionState, vModelCheckbox, vModelDynamic, vModelRadio, vModelSelect, vModelText, vShow, version, warn, watch, watchEffect, watchPostEffect, watchSyncEffect, withAsyncContext, withCtx, withDefaults, withDirectives, withKeys, withMemo, withModifiers, withScopeId)
et les ranger dans un objet appeler Vue.
Ce qui te permettra d'utiliser les expressions comme:
Vue.createApp
Et tous les autres composants qui sont exporté par Vue.