11
    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”,“更漂亮”:“^1.12.1”

尝试了所有降级和升级更漂亮版本的选项。

4

3 回答 3

27

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

请注意,这是一个 hack... 一个临时的。但它适用于希望立即完成工作的人......在等待永久修复程序发布时。您可能已经猜到了…… PR 已经提交并且已经被合并。这意味着在下一个版本中将进行修复。与此同时......这会做。是的,当该版本发布时,它将覆盖此 hack,而这一切似乎都不会发生。干杯

甚至不屑于降级。这是一个小问题。我在这里给出了解释以及对我 有用的内容: 简而言之:转到: 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' })
}

而已!

于 2018-05-28T11:33:38.193 回答
26

将包降级prettier到版本 1.12.1 并坚持使用它:

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

于 2018-05-28T13:09:53.197 回答
-1

这是一个暂时修复它的 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"
}
于 2018-05-29T06:21:35.807 回答