沒想到真有最終篇......捂臉.jpgcss
前兩篇文章,終究仍是留下了一些不太完美的地方。加之,今天看到了 Prettier Configuration Overrides 配置項。html
因而乎,我發現:git
- 使用 Gulp.js 處理
wxss
文件反而是畫蛇添足了;- 同時很好地解決了下集關於使用
lint-staged
僅處理暫存文件的問題。
其實使用 Gulp.js 來處理的方式並不是徹底不可取,起碼給我提供了一個思路,可供參考。github
在更新代碼以前,將其實現方式,打了個 Tag,源碼在 👉 wechat_applet_demo-1.0.0。npm
Anyway,這個踩坑過程,我很享受。json
首先,Prettier 是支持對某些文件擴展名,文件夾和特定文件進行不一樣的配置 👉 這裏。gulp
Overrides let you have different configuration for certain file extensions, folders and specific files.
// .prettierrc.js { overrides: [ { files: ['*.wxss', '*.acss'], options: { parser: 'css' } }, { files: ['*.wxml', '*.axml'], options: { parser: 'html' } }, { files: ['*.wxs', '*.sjs'], options: { parser: 'babel' } } ] }
由於無需使用 Gulp.js 了,移除 gulpfile.js
以及相關依賴包,而後對 npm scripts 調整下:segmentfault
// package.json { "scripts": { "test": "echo \"Error: no test specified\" && exit 1", "eslint": "eslint . --ext .js,.wxs,.sjs", "eslint:fix": "eslint --fix . --ext .js,.wxs,.sjs", "prettier:fix": "prettier --config .prettierrc.js --write './**/*.{js,sjs,wxs,css,wxss,acss,wxml,axml,less,scss,json}'", "format:all": "npm-run-all -s prettier:fix eslint:fix" }, }
因爲無需再使用到函數的形式,咱們將原先的 .lint-stagedrc.js
配置文件移除,而後放到 package.json
中。babel
// package.json { "husky": { "hooks": { "pre-commit": "lint-staged" } }, "lint-staged": { "*.{js,wxs,sjs}": [ "prettier --config .prettierrc.js --write", "eslint --fix --ext .js" ], "*.{json,wxml,axml,css,wxss,acss,wxml,axml,less,scss}": "prettier --config .prettierrc.js --write" } }
就這樣,沒了。app
此前留下的遺憾補全了,個人強迫症也治癒了,哈哈。
本系列文章的示例 Demo 在這裏 👉 GitHub: wechat_applet_demo,歡迎 Star 👋。