当我尝试使用 JsPrettier 来处理我的 js 和 jsx 代码时出现以下错误。
Prettier 报告了以下错误:
[警告] 忽略未知选项
--html-whitespace-sensitivity=css
。[错误] 错误:无法解析解析器“babel”
我现在已经重新安装了这两个插件,但仍然出现相同的错误。目前正在使用 create-react-app 进行项目开发。
JsPrettier 版本 1.24.0 Sublime 版本 3.1.1
这些是我的 Babel 设置:
"debug": false,
"use_local_babel": true,
"node_modules": {
"windows": "C:/Program Files/nodejs/node_modules",
"linux": "/usr/lib/node_modules",
"osx": "/usr/local/lib/node_modules"
},
"options": {}
}
有没有办法将 JsPrettier 指向 Babel?我不确定 Sublime、Babel 和 Prettier 究竟是如何交互的。我猜这只是告诉 JsPrettier babel 解析器在哪里的问题?
提前致谢!
答案1
注意:如果你想在项目中使用本地安装的 prettier,请省略-g
所有命令
首先,更新 Prettier 的全局版本:
npm update -g prettier
npm list -g prettier
现在给我[email protected]
现在更新您的 JsPrettier 用户设置(Sublime Text > Preferences > Package Settings > JsPrettier > Settings - User)并设置"prettier_cli_path"
为指向您的全局 bin
// JsPrettier.sublime-settings
{
...
"prettier_cli_path": "/Users/abby/.nvm/versions/node/v10.14.1/bin/prettier",
...
}
(通过运行检查正确的路径npm root -g
并将其更新到更漂亮的 bin)
答案2
仅供参考:在稍微不同的设置中出现类似的错误。
------------------
JsPrettier ERROR
------------------
Prettier reported the following error(s):
[error] Error: Couldn't resolve parser "babel"
Process finished with exit code 1
我也在我们的项目中本地安装了 Prettier 包,如 package.json 文件中所指定。
我发现它的版本太旧了。所以我更新了它,然后错误就消失了。
$ yarn remove prettier
$ yarn add prettier -D