开始 按照官方推荐按照包依赖
npm i --save-dev --save-exact prettier
配置prettier的文件
.prettierignore
build coverage
.prettierrc
{ "semi": false, "singleQuote": true, "trailingComma": "none" }
配置husky
// 需要安装mrm
npx mrm lint-stage
安装之后会新增配置
这样就可以配置完成了。
意外出现
由于echo创建文件,会自动选择utf-16
的编码格式,导致husky读取配置文件异常。
错误提示如下
> git -c user.useConfigOnly=true commit --quiet --allow-empty-message --file -
[STARTED] Preparing lint-staged...
[SUCCESS] Preparing lint-staged...
[STARTED] Running tasks for staged files...
[STARTED] package.json[2m — 1 file[22m
[STARTED] *.{js,css,md,ts,tsx}[2m — 1 file[22m
[STARTED] prettier --write
[FAILED] [91mprettier --write[39m [2m[FAILED][22m
[FAILED] [91mprettier --write[39m [2m[FAILED][22m
[SUCCESS] Running tasks for staged files...
[STARTED] Applying modifications from tasks...
[SKIPPED] Skipped because of errors from tasks.
[STARTED] Reverting to original state because of errors...
[SUCCESS] Reverting to original state because of errors...
[STARTED] Cleaning up temporary files...
[SUCCESS] Cleaning up temporary files...
[91m[91m×[91m prettier --write:[39m
[error] Invalid configuration file `src\test.js`: Cannot find module '��{
一直提示配置文件找不到,经过分析,错误提示有乱码,大概率是文件编码的问题,果然发现问题所在
echo命令行新建的文件的默认编码为utf-16 LE
导致husky
读取配置文件解码异常。
自己手动切换为utf-8
就正常了