使用vue-cli运行"无法推断解析器"错误

cou*_*ing 9 node.js webpack vue.js prettier vue-cli

在尝试使用构建新的webpack项目时,我反复收到错误vue-cli.我正在关注最新版本(3.0.0-beta.11)上的文档,也尝试使用早期版本,而不是测试版.

当我运行yarn serve它时尝试启动开发服务器并构建项目但在此处失败:

error  in ./src/App.vue?vue&type=template&id=7ba5bd90

Module build failed: Error: No parser and no file path given, couldn't infer a parser.
    at normalize (/Users/cory/Code/chickadee/my-project/node_modules/prettier/index.js:7051:13)
    at formatWithCursor (/Users/cory/Code/chickadee/my-project/node_modules/prettier/index.js:10370:12)
    at /Users/cory/Code/chickadee/my-project/node_modules/prettier/index.js:31115:15
    at Object.format (/Users/cory/Code/chickadee/my-project/node_modules/prettier/index.js:31134:12)
    at actuallyCompile (/Users/cory/Code/chickadee/my-project/node_modules/@vue/component-compiler-utils/dist/compileTemplate.js:93:29)
    at compileTemplate (/Users/cory/Code/chickadee/my-project/node_modules/@vue/component-compiler-utils/dist/compileTemplate.js:26:16)
    at Object.module.exports (/Users/cory/Code/chickadee/my-project/node_modules/vue-loader/lib/loaders/templateLoader.js:42:20)

 @ ./src/App.vue?vue&type=template&id=7ba5bd90 1:0-194 1:0-194
 @ ./src/App.vue
 @ ./src/main.js
 @ multi (webpack)-dev-server/client/index.js (webpack)/hot/dev-server.js ./src/main.js
Run Code Online (Sandbox Code Playgroud)

关于我的设置

  • 苹果系统
  • 我正在运行节点v8.5.0
  • 软件包已安装 yarn

我尝试过的事情

  • 不同版本的vue-cli生成新项目.项目生成并安装模块.
  • 尝试删除prettier模块,但似乎仍然出现错误.
  • 尝试重新安装所有模块.

还有什么可以尝试通过此错误?

lsx*_*ron 7

删除当前node_modules从项目文件夹,添加"prettier": "^1.12.1"package.json和运行npm install解决的问题.

另一种选择是在npm install prettier@1.12.1不删除node_modules文件夹的情况下运行

更新:

对于某些用户,verion 1.12.1不起作用

@Kivin提出了另一种解决方案,可以在这里找到:vue webpack模板缺少解析器


Fro*_*dor 6

已知问题,将在下一版本的vue-cli中修复

在更漂亮的1.13.0中,默认解析器被删除了一个次要版本(曾经是巴比伦)

问题:https://github.com/vuejs/component-compiler-utils/issues/14

更漂亮的回购问题:https://github.com/prettier/prettier/issues/4567

对不起,我们犯下了古老的semver罪 - 我们知道这是一个重大改变,但因为它只影响我们用户的一部分,我们没有碰到主要版本,因为我们不想创建摩擦我们的用户升级.

要获得旧行为,请添加parser: "babylon".您可能还想在package.json中锁定更漂亮的特定版本.