yarn add prettier --dev --exact
或者全局安装
yarn global add prettier
npm install --save-dev --save-exact prettier
或者全局安装
npm install --global prettier
当你想在提交代码之前格式化本地代码 可以使用 --write 示例如下 prettier [opts] [filename ...] prettier 后边添加cli 最后表明要格式化的文件名称(通常正则去匹配或者写具体的文件名) 官网示例 prettier --single-quote --trailing-comma es5 --write "{app,{tests,mocks}}/**/*.js"
会输出你要格式化代码的名称 可以去prettier-demo里边尝试一下 prettier其实原理就是改写你要格式化代码的文件,但是可能在格式化完成之后代码会出现问题 所以在--write之前可以看下要格式化的文件有哪些 再去判断要不要执行--write;
需要注意的是 --write 和 --debug-check 不能一块执行
--config 意思就是给*.{xxxxx}文件找了个媳妇 但是只有它自己知道 相反--find-config-path 就是让其他人知道*.{xxxxx}文件的媳妇是谁
prettier --config ./my/.prettierrc --write ./my/file.js
prettier --find-config-path ./my/file.js console.log(./my/.prettierrc)
都有些见不得人的东西 git可以通过.gitignore忽略不上传的文件 prettier也一样 也可以通过--ignore-path 去指定哪些文件见不得人(跳过格式化) 但是正常人的做法是跟git一样根目录新建.prettierignore文件
也可以在代码中添加prettier-ignore的注释的标识 跳过某一段代码块 具体操作可以看demo
感觉这个玩意就是跟别人说:“来 干我啊” prettier 会优先处理添加了@prettier注释头的文件
这是给--require-pragma 充当先锋的东西 可以为指定文件的头部添加@format注释头
检测哪些文件是和prettier设定的格式化配置不一样的 会打印出不一样的文件名 但是直接运行命令行只会输出不一样的文件名 但是写在script 如果只要检测到不一样的文件 会直接报错
这个应该都明白了 忽略配置文件 直接使用prettier默认配置文件
设置prettier 以哪种方式进行format
cli-override(默认prettier cli的形式format文件)
例如:通过config 指定了.prettierrc配置文件 但是运行的时候命令行中添加了options的cli的指令 prettier会忽略.prettierrc配置文件 按照cli指令去format文件
file-override 配置文件权重高于cli指令
prefer-override 会优先查找.prettierrc配置文件 查找不到在执行cli指令
忽略node_modules文件夹
和eslit --fix相同 意思就是按照规定的格式对文件进行重写
不想翻译这个东西
换行的长度 在配置文件中要遵循驼峰命名法 如果你format makedown的文件不想换行 可以使用Prose Wrap禁止
默认是 80 cli设定方式: --print-width 或者调用api printWith:
每次写代码都纠结于两个空格还是4个空格
默认是 2 cli设定方式: --tab-width 或者调用api tabWidth:
利用空行符替换空格缩进 不建议使用 默认是false cli设定: --use-tabs api:useTabs:
要不要分号呢 true 要 false 不要 defind true cli: --no-semi api:semi:
单引号代替双引号? defind false; cli: --single-quotes api: singleQuotos:
尾随逗号 例如 object的最后一个key-value是否要加逗号
三个值可供挑选 none 不会添加分号 es5 对象 数组最后一项在换行时会添加分号 单行是不会添加的 all 能加的都加上包括函数的不定参 但是需要node版本在8以上或者bable的transform (个人不建议使用)
在对象两边是否打印空格 默认是true cli: --no-bracket-spacing api: bracketSpacing:
多行jsx >结束符在文件的下一行而不是结尾(自闭标签除外) 默认false cli --jsx-bracket-same-line api: jsxBracketSameLine:
箭头函数参数是否要添加括号 avoid: 默认值 尽量省略括号 always: 添加括号
格式化部分文件 通过配置两个参数来格式化部分代码(感觉这个东西有毒) range-start 默认 0 cli: --range-start api: rangeStart: range-end 默认 Infinity cli:--range-end api: rangeEnd: