使用 package.json 中的配置从 CLI 运行更漂亮

Raf*_*ero 1 command-line-interface package.json prettier

我正在尝试从 CLI 运行 Prettier,定义 package.json 文件中的配置,如官方文档中所述

Prettier 使用 cosmiconfig 来支持配置文件。这意味着您可以通过(按优先顺序)配置更漂亮:

package.json 文件中的“漂亮”键。

然而,使用以下命令和以下 package.json 文件,我得到了显示的错误:

命令:

prettier --config package.json ./src/basic-sample.js
Run Code Online (Sandbox Code Playgroud)

包.json:

{
    "name": "prettier-getting-started",
    "version": "1.0.0",
    "description": "Prettier - Getting started",
    "main": "index.js",
    "scripts": {
        "test": "echo \"Error: no test specified\" && exit 1",
    },
    "keywords": [
        "prettier"
    ],
    "author": "Rafa Romero",
    "license": "ISC",
    "devDependencies": {
        "prettier": "2.0.4"
    },
    "prettier":{
        "singleQuote": true
      }
}
Run Code Online (Sandbox Code Playgroud)

结果:

[error] Invalid configuration file `src/basic-sample.js`: JSON Error in /Users/rafaromero/prettier-sample/package.json:
[error] LinesAndColumns$1 is not a constructor
Run Code Online (Sandbox Code Playgroud)

我想指出的是,如果使用具有相同命令的.prettierrc.js文件它可以工作

Luk*_*ler 7

我在使用 .prettierrc.json 文件时遇到了这个错误,问题是该文件是用 utf-16LE 编码的,而不是 UTF-8。将文件保存为 UTF-8 为我解决了这个问题。

此问题的根本原因是遵循建议echo {}> .prettierrc.json创建文件的文档。在 Windows powershell 上,这会创建一个 UTF-16LE 文件,而不是一个 UTF-8 文件。

更多讨论可以在这个 github 问题中找到

  • 谢谢,我刚刚在记事本++中打开.prettierrc.json,在编码菜单中将编码更改为utf-8,它可以工作! (2认同)

小智 3

根据https://prettier.io/docs/en/configuration.html package.json 中的配置具有最高优先级,因此您应该能够调用:

prettier ./src/basic-sample.js
or
prettier --write ./src/basic-sample.js
Run Code Online (Sandbox Code Playgroud)

我是在 package.json 脚本中执行此操作,但这应该没有任何区别。