TL;DR:馃憠stylelint浠嬬粛馃憠stylelint閰嶇疆馃憠stylelint鍘熺悊stylelint浠嬬粛涓€涓己澶х殑鐜颁唬linter锛屽彲浠ュ府鍔╂偍閬垮厤閿欒骞跺湪鎮ㄧ殑鏍峰紡涓己鍒舵墽琛岀害瀹氥€備竴涓己澶х殑銆佺幇浠g殑linter甯姪鍥㈤槦閬垮厤瑙勫垯閿欒锛岀粺涓€浠g爜椋庢牸銆傜被浼间簬eslint锛屽彲浠ョ户鎵垮紑婧愮ぞ鍖虹殑config锛岃嚜瀹氫箟閰嶇疆锛岀紪鍐欎釜鎬у寲瑙勫垯銆俿tylelint鐨勯厤缃彲浠ュ弬鑰冨畼鏂规寚鍗梪ser-guide/get-started杩涜閰嶇疆銆傜瑪鑰呯幇鍦ㄧ殑鍏徃椤圭洰鏄痸ue+scss+ts瀹炵幇鐨勩€傝繖閲屼富瑕佷粙缁峷ue鍜宻css鐩稿叧鐨勯厤缃€傜浉鍏充緷璧栭」stylelint鐗堟湰鍜屼緷璧栭」瀛樺湪鍏煎鎬ч棶棰樸€備互涓嬩緷璧栫増鏈凡缁忚繃楠岃瘉銆?.0.0stylelint-config-prettier@9.0.3stylelint鎻掍欢鎻愪緵鐨勬槸鎵╁睍瑙勫垯锛屼笉鏄璁鹃厤缃€傦紙鎴戝彧鎻愪緵閰嶇疆锛岀敤涓嶇敤鐢变綘鍐冲畾锛夈€傚懡鍚嶇害瀹氭槸stylelint-xxxx銆傛垜浠殑椤圭洰浣跨敤浜唖css棰勫鐞嗗櫒锛岄渶瑕佷娇鐢╯tylelint-config-recommended-scss鏉ユ鏌css瑙勫垯銆俿tylelint-scss鎻愪緵浜唍鏉′互涓婄殑瑙勫垯锛岄儴鍒嗛厤缃湪stylelint-config-recommended-scss涓惎鐢ㄣ€傚湪闈㈣瘯涓紝鎴戜滑缁忓父琚棶鍙奀SS閲嶆帓鍜岄噸缁樸€傚潶鐧借锛屽啓浠g爜鐨勬椂鍊欏苟娌℃湁澶氬皯浜哄叧蹇冭繖涓€傝linter鑷姩甯垜浠慨澶峊oxiang銆俿tylelint-config-recess-order锛堝睘鎬ч厤缃?stylelint-order鎻掍欢锛夊彲浠ュ府鍔╂垜浠璇嗗埌锛宻tylelint鍜宔slint绫讳技锛岄兘涓嶱rettier瑙勫垯鍐茬獊銆俿tylelint-config-prettier鍙互瑙e喅杩欎簺鍐茬獊銆俿tylelint-prettier鎻掍欢浼樺寲浜哖rettier鐨勬墽琛屾椂搴忛厤缃枃浠跺彲浠ユ槸.stylelintrc鎴?stylelintrc.js鎴杝tylelint.config.cjs閰嶇疆鏂囦欢銆傛帹鑽愪娇鐢?js鏂囦欢鐨勫舰寮忥紝鏂逛究瀹氬埗銆俶odule.exports={/*缁ф壙閫氱敤閰嶇疆*/"extends":["stylelint-config-recommended-scss","stylelint-config-recess-order","stylelint-prettier/recommended"],/*extendstylelint鍘熺敓瑙勫垯绫诲瀷*/"plugins":["stylelint-prettier"],/*椤圭洰涓€у寲瑙勫垯*/rules:{"selector-pseudo-element-no-unknown":[true,{ignorePseudoElements:["v-deep"],}],"prettier/prettier":true,"number-leading-zero":"always",}}娌$湅鎳備负浠€涔堟湁浜涘伐鍏烽厤缃彲浠ユ敮鎸乵onorepo椤圭洰缁勭粐锛岀湅瀹樻柟鏂囨。鏄彂鐜癱osmiconfig搴撴湁鍔╀簬鍋氬埌杩欎竴鐐广€係tylelint浣跨敤cosmiconfig鏉ユ煡鎵惧拰鍔犺浇鎮ㄧ殑閰嶇疆瀵硅薄銆傛墽琛岃剼鏈」鐩厤缃缁撳悎lint-stage鍜実it-hooks鏉ヤ紭鍖栨墽琛岀殑鏃舵満鍜岃寖鍥淬€傛湰鏂囧彧璁叉墜鍔ㄦ墽琛屻€俻ackage.json:"lint:style":"stylelint'src/**/*.{vue,htm,html,css,scss}'--fix"鍦ㄧ粓绔墽琛宯pmrunlint:style鍙互鐪嬪埌鍙樺寲浠g爜銆俿tylelint鍘熺悊stylelint浣跨敤PostCSSAPI鏉ュ垎鏋怌SS鐨勮娉曟潵妫€鏌ユ牱寮忋€俻ostcss鏄痗ss鐨勭紪璇戝櫒銆傚畠绫讳技浜巄abel鐨勫姛鑳借璁★紝鏈変笁涓叧閿幆鑺傦細parse->transform->generator銆傚紑鍙戣€呭彲浠ラ€氳繃瑙f瀽鍚庣殑AST缁撴瀯瀹炵幇鑷畾涔塴int瑙勫垯銆俿tylelint閰嶇疆婕旂ず
