J'étais juste en train de monter un projet vue en utilisant le template webpack comme indiqué ici: http://vuejs-templates.github.io/webpack/
Cependant, après avoir exécuté npm, exécutez dev pour vérifier que le modèle fonctionne, le message d'erreur suivant s'affiche:
Failed to compile with 2 errors 21:49:02
error in ./src/App.vue
Module build failed: Error: No parser and no file path given, couldn't infer a parser.
at normalize (path\node_modules\prettier\index.js:7051:13)
at formatWithCursor (path\node_modules\prettier\index.js:10370:12)
at path\node_modules\prettier\index.js:31115:15
at Object.format (path\node_modules\prettier\index.js:31134:12)
at Object.module.exports (path\node_modules\vue-loader\lib\template-compiler\index.js:80:23)
@ ./src/App.vue 11:0-354
@ ./src/main.js
@ multi (webpack)-dev-server/client?http://localhost:8080 webpack/hot/dev-server ./src/main.js
error in ./src/components/HelloWorld.vue
Module build failed: Error: No parser and no file path given, couldn't infer a parser.
at normalize (path\node_modules\prettier\index.js:7051:13)
at formatWithCursor (path\node_modules\prettier\index.js:10370:12)
at path\node_modules\prettier\index.js:31115:15
at Object.format (path\node_modules\prettier\index.js:31134:12)
at Object.module.exports (path\node_modules\vue-loader\lib\template-compiler\index.js:80:23)
Qu'est-ce que je fais mal?
Prettier a provoqué cette régression dans sa mise à jour 1.13.0
qui a eu lieu aujourd'hui. Passez à la version précédente pour corriger cette erreur:
npm install --save-dev [email protected]
npm run dev
Cela devrait faire l'affaire.
Si vous utilisez Yarn, ajoutez ceci à votre package.json
pour obliger @vue/component-compiler-utils
à utiliser la bonne version:
"resolutions": {
"@vue/component-compiler-utils/prettier": "1.12.1"
}
Ensuite, faites une nouvelle installation.
il est corrigé dans [email protected] et [email protected] Alors, mettez à niveau.
Si vous utilisez laravel-mix
, cela a résolu le problème pour moi:
Supprimer.\Node_modules, supprimez.\Yarn.lock puis ajoutez ce qui suit à.
"dependencies": {
...
"prettier": "1.12.1",
"vue-loader": "13.7.0"
...
},
"resolutions": {
"laravel-mix/vue-loader": "13.7.0",
"vue-loader/prettier": "1.12.1"
}
courir le fil et tout devrait fonctionner.
Étant donné que vue-cli
utilise ici la plus jolie interface API et codé en dur les options, une dépendance plus jolie a été ajoutée dans le projet @vue/component-compiler-utils
.
Vous pouvez essayer npm i prettier@~1.12.0
pour forcer la version la plus jolie ici.
BTW quelqu'un a fait une demande pull avec le correctif
J'utilise Nuxt/Vue sur Docker. J'ai eu la même erreur avec docker build.
Cela ne fonctionne pas après les commandes ci-dessous
rm -rf node_modules
npm install --save-dev [email protected]
npm run dev
J'ai donc édité Dockerfile comme ceci et cela a fonctionné.
FROM node:8.11
RUN mkdir -p /app
COPY . /app
WORKDIR /app
RUN npm install && npm cache verify
RUN npm install --save-dev [email protected]
RUN npm run build
EXPOSE 3000
CMD ["npm", "run", "express"]
J'ai eu la même erreur avec le fil, mais j'ai essayé plutôt npm i
et npm run dev
et cela a fonctionné.
yarn v v1.5.1
npm -v 5.6.0
node -v v10.0.0