Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/42.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 遇到;不能';t推断解析器“;使用vue cli时出错_Node.js_Webpack_Vue.js_Vue Cli_Prettier - Fatal编程技术网

Node.js 遇到;不能';t推断解析器“;使用vue cli时出错

Node.js 遇到;不能';t推断解析器“;使用vue cli时出错,node.js,webpack,vue.js,vue-cli,prettier,Node.js,Webpack,Vue.js,Vue Cli,Prettier,尝试使用vue cli构建新的网页包项目时,我反复遇到错误。我正在关注最新版本(3.0.0-beta.11)的文档,也尝试了早期版本(不是beta版) 当我运行时,它试图启动开发服务器并构建项目,但在此处失败: 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 pa

尝试使用
vue cli
构建新的网页包项目时,我反复遇到错误。我正在关注最新版本(3.0.0-beta.11)的文档,也尝试了早期版本(不是beta版)

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

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
关于我的设置
  • 苹果操作系统
  • 我正在运行节点v8.5.0
  • 软件包与
    纱线一起安装
我尝试过的事情
  • 使用不同版本的
    vue cli
    生成新项目。这些项目生成并安装模块
  • 尝试删除
    更漂亮的
    模块,但似乎仍然出现错误
  • 已尝试重新安装所有模块

我还可以尝试哪些方法克服此错误?

已知问题,它将出现在下一版本的vue cli中

在prettier 1.13.0中,默认解析器被删除,并带有一个次要版本(以前是babylon)

问题:

在更漂亮的回购中发行:

很抱歉,我们犯了由来已久的semver sin-我们知道这是一个突破性的改变,但因为它只会影响我们的一部分用户,我们没有碰撞主要版本,因为我们不想为我们的用户升级制造摩擦

要获得旧的行为,请添加
解析器:“巴比伦”
您可能还希望将prettier锁定到包中的特定版本。json


从项目中删除当前的
节点\u modules
文件夹,将
中的“prettier”:“^1.12.1”
添加到
包中。json
并运行
npm安装
解决了此问题

另一个选项是运行
npm安装prettier@1.12.1
之前不移除
节点\u模块
文件夹

更新:

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


@Kivin提出了另一个解决方案,可以在这里找到:

运行
npm安装prettier@1.12.1
帮我解决了这个问题。谢谢你

正如各种原因已经指出的那样,您可能需要回滚更漂亮软件包的版本

在package.json文件中,您可能需要强制npm使用一个版本(即删除hat^)

我的看起来像这样

"devDependencies": {

"prettier": "1.12.1",
"typescript": "^2.6.1",
"vue": "^2.5.16",
"vue-styleguidist": "^1.4.4",
"vue-webpack-loaders": "^1.0.6",
"webpack": "^3.1.0"

现在,我尝试了所有的选择…下载和升级更漂亮的…但都没有成功。直到我仔细研究了发生的事情。 显然,更漂亮的团队删除了默认的解析器,
babylon
,这样做……打破了互联网

只是开玩笑

根据他们的说法,最简单的解决方案是简单地重新添加解析器。 这已经被Vue团队所接受,预计将随最新的修复版本一起发布。 如果您使用的是Vue Loader/Thread,请不要费心尝试所有建议……我都试过了。 给我修的是…去
node\u modules\vue loader\lib\template compiler
…打开
index.js
并查找

//美化渲染fn
如果(!i生产){
code=prettier.format(代码,{semi:false})
}

并将行更改为:

// prettify render fn
if (!isProduction) {
  code = prettier.format(code, { semi: false, parser: 'babylon' })
}
就这样! 然后,一旦问题得到解决,一切都将回滚,您仍然会很好


尝试此操作……它将为您节省无数分钟的搜索时间……

每次安装当前vue cli版本后,您都需要这样做,然后在vue cli更新后将其从依赖项中删除。我不确定原因,但我尝试使用
Thread
将其降级到
1.2.1
,但它似乎不起作用。真正起作用的是
npm安装--save devprettier@1.12.1
。但是看起来你在做同样的事情,只是简单地更换了所有的模块。确认你做了什么,也没有运气!!!等待此PR: