ESLint & Prettier - ის გამართვა Vue.js პროექტში
Last updated
Last updated
ზოგადად პროექტის სქოუფში, თიმში, ორგანიზაციაში კოდის დისციპლინის ჩამოყალიბებას უაღრესად დიდი მნიშვნელობა აქვს.
ყველა ადამიანი არის უნიკალური და აქვს საკუთარი შეხედულებები. ზოგს მოსწონს ყვითელი, ზოგს შეიძლება ვარდისფერი მოსწონდეს. შენ შეიძლება ცვლადის სახელები camelCase სტილით მოგწონს, ხოლო სხვას snake_case-ით მოსწონდეს.
რამდენადაც საინტერესო და უაღრესად მნიშვნელოვანია უნიკალური შეხედულებების ქონა, ზოგ შემთხვევაში იმდენადვე შეიძლება სირთულეები გამოიწვიოს.
მაგალითისთვის მე თუ გუნდში პროექტზე ვმუშაობ და ვწერ A სტილით კოდს და ჩემი კოლეგა წერს რადიკალურად განსხვავებული B სტილით - ეს უკვე არის პრობლემა და იწვევს როგორც ახლო მომავალში გართულებებს, ასევე გრძელვადიანი სახითაც.
ამას გარდა, სუფთა ხელებით კოდის სტილის შენარჩუნებას პროექტში უაღრესად დიდი ძალისხმევა სჭირდება. ამიტომაც შეიქმნა ისეთი თულები როგორიცაა ESLint, PHP CS Fixer, Prettier, Pylint და ა.შ.
ეს ხელსაწყოები უზრუნველყოფენ, რომ კოდის სტილი შენარჩულებული იყოს მთელს ქოუდბეისზე.
Vue.js პროექტში ყველაზე გამოყენებადი წყვილი კოდის სტანდარტის შენარჩუნებისთვის არის ESLint და Prettier
ახლა კი ფორმატინგზე. რა განსხვავებაა ფორმატინგსა და ლინტინგს შორის? ლინტერი უფრო მეტად ფოკუსირებულია ერორების აღმოჩენაზე, მაშინ როცა ფორმატერი ზრუნავს შეინარჩუნოს ერთიანი სტანდარტი კოდში და დაიწვას გარკვეული წესები, როგორიცაა ტაბის სიგანე, ერთმაგი/ორმაგი ბრჭყალები და ა.შ.
თუ პროექტს vite-ის დახმარებით ვქმნით eslint-სა და prettier-ის გამართვა ძალიან მარტივია, ამისათვის სრულიად საკმაირისია 2 შესაბამის კითხვაზე Yes პასუხის გაცემა.
დავაინსტალიროთ prettier
შევქმნათ კონფიგურაციის ფაილი
დავაინსტალიროთ eslint
შევქმნათ კონფიგურაციის ფაილი .eslintrc.js
შემდეგ კი აუცილებელია რომ eslint-ის ფორმატინგის წესები გამოვრთოთ, რადგან prettier-თან არ ქონდეს კონფლიქტი. It's quite simple. we need just one more package
თუ გავუშვებთ ბრძანებას npm run lint უკვე ყველაფერი იმუშავებს
როგორც აღვნიშნეთ, შემდეგი ექსთენშებნების დაყენება
ასევე Vue 3-ისთვის საჭიროა Volar ის დაყენება. (კარგი იქნება და აქედანვე TypeScript ის ვერსიასაც დააყენებ)
შემდგომ შევიდეთ ჩვენი იუზერის გლობალურ სეთინგებში. რისთვისაც უნდა გამოვიყენოთ ctrl + shift + p და ჩავწეროთ Open user settings (JSON) შემდეგ კი შევქმათ .vscode/settings.json ფაილი პროექტის რუთ დირექტორიაში და ჩავწეროთ შემდეგი წესები
და ჩავამატოთ ჩვენი კონფიგურაცია.
PHPStorm-სა და WebStorm-ს ESLint-ის პლაგინი სტანდარტულად მოყვება და Prettier-ის და ESLint-ის კონფიგურაციასაც აღიქვამენ.
ჩვენ უბრალოდ Shortcut უნდა გავუწეროთ ESLint-ის ფორმატინგს და შემდეგ შევძლებთ მარტივად დავაფორმატოთ ჩვენი კოდი
რა არის ლინტინგი? ლინტინგი არის კოდის სტატიკური ანალიზის ავტომატური პროცესი, რომელიც ეძებს პოტენციურ შეცდომებს. ძირითადად, ლინტერი აღმოაჩენს ისეთ შეცდომებს, როგორიცაა, გამორჩენილი მძიმე ან გამოუყენებლი ცვლადი და ა.შ ლინტერი ვერ გადაგვარჩენს ბიზნეს ლოგიკის შეცდომებისგან, მაგრამ ეცდება რო ჩვენი კოდი სინტაქსურად გამართული იყოს და საუკეთსო პრაქტიკებს მიყვებოდეს. ხელსაწყო, რომელიც ლინტერისა და ჯავასკრიპტის წყვილთან პირველად ახსენდებათ, არის .
ფორმატინგი როგორ ავამუშავოთ? სინამდვილეში თუ ჩვენს პროექტში eslint გვიყენია, ეს ნიშნავს რომ გარკვეული ფორმატინგი ჩვენ უკვე გვაქვს პროექტში. მიუხედავად ამისა, იმისთვის რომ სრულყოფილი ფორმატინგი გვქონდეს პროექტში, უნდა გამოვიყენოთ კიდევ ერთი ხელსაწყო, რომელიცაა . Prettier კიდევ უფრო სრული და ძლიერი ფორმატინგის ხელსაწყოა, რომელიც მთლიანად ფორმატინგზეა ორიენტირებული და eslint-თან წყვილში ძალიან ძლიერი კომბოა თქვენი კოდის ერორებისგან დაცვის საქმეში.
ქვემოთ განხილულია ორი ძირითადი შემთხვევა ამ თულების დამატების vue პროექტში, ორივე შემთხვევაში აუცილებელია დავაყენოთ შესაბამისი ექსთენშენები and .
Vue 2-ის და მხოლოდ და მხოლოდ Vu2 -ის შემთხვევაში უნდა დავაყენოთ ექსთენშენი Vetur და ასევე Code/ user/settings.json ში ჩავამატოთ შემეგი კოდი. "vetur.validation.template": false [!] იმისათვის რომ შეხვიდეთ Code/user/settings.json -ში გამოიყენე ctrl+shift+P და არიჩიე Preferences: Open user settings (JSON)
ასევე რჩევა იქნება დაასინქრონიზიროთ თქვენი VsCode ის სეთინგები, რათა კომპიუტერის შეცვლისას ან ოპერაციული სისტემის გადაყენებისას თავიდან არ მოგიწიოთ extention-ების გადმოწერა და ასევე შეინარჩუნოთ კონფიგურაცია რომლებიც Code/user/settings.json-ში გაუწერეთ. სინქრონიზაციის პროცესი ძალიან მარტივია , შეგიძლიათ შემდეგი სქრინით იხელმძღვანელოთ
დეტალური ინსტრუქციები jetbrains-ისგან /