Module build failed: Error: No parser and no file path given, couldn't infer a parser in nuxtjs

Module build failed: Error: No parser and no file path given, couldn't infer a parser in nuxtjs

    Module build failed: Error: No parser and no file path given, couldn't infer a parser.
    at normalize (/home/nayan/dd_pwa/node_modules/prettier/index.js:7051:13)
    at formatWithCursor (/home/nayan/dd_pwa/node_modules/prettier/index.js:10370:12)
    at /home/nayan/dd_pwa/node_modules/prettier/index.js:31115:15
    at Object.format (/home/nayan/dd_pwa/node_modules/prettier/index.js:31134:12)
    at Object.module.exports (/home/nayan/dd_pwa/node_modules/vue-loader/lib/template-compiler/index.js:80:23)

 @ ./layouts/error.vue 7:0-368
 @ ./.nuxt/index.js
 @ ./.nuxt/client.js
 @ multi webpack-hot-middleware/client?name=client&reload=true&timeout=30000&path=/__webpack_hmr ./.nuxt/client.js

我在 Nuxtjs 上 。有人面临同样的问题吗???帮助?!! 版本: "nuxt": "^1.0.0", "prettier": "^1.12.1"

所有降级升级prettier版本的选项都试过了

更新: 我在下面的评论中提到了这一点,但出于某种原因,人们仍然指的是同一件事。

请注意,这是一个 hack...暂时的。但它适用于希望立即完成工作的人......在等待永久性修复发布的同时。正如您可能已经猜到的那样...... PR 已经提交并已合并。这意味着将在下一个版本中进行修复。同时……这样就可以了。是的,当该版本发布时,它将覆盖此 hack,并且 none 这似乎已经发生了。干杯

甚至不用降级。 这是一个小问题。 我给了一个解释 简而言之: 去: node_modules\vue-loader\lib\template-compiler ...打开 index.js 并查找

// prettify render fn if (!isProduction) { code = prettier.format(code, { semi: false}) }

并将行更改为:

// prettify render fn
if (!isProduction) {
  code = prettier.format(code, { semi: false, parser: 'babylon' })
}

就是这样!

prettier 软件包降级到版本 1.12.1 并坚持使用:

npm i prettier@1.12.1 --save-dev --save-exact

这是暂时修复它的 sed 单行代码:

sed -i 's/semi: false/semi: false, parser: \"babylon\"/g' node_modules/vue-loader/lib/template-compiler/index.js

对于mac:

sed -i '' 's/semi: false/semi: false, parser: \"babylon\"/g' node_modules/vue-loader/lib/template-compiler/index.js

作为 npm 脚本:

"scripts": {
  "postinstall": "sed -i 's/semi: false/semi: false, parser: \"babylon\"/g' node_modules/vue-loader/lib/template-compiler/index.js"
}