ویرگول
ورودثبت نام
Peyman Eskandari
Peyman Eskandari
Peyman Eskandari
Peyman Eskandari
خواندن ۲ دقیقه·۹ سال پیش

ESLint برای React Native

پروژه‌ی ESLint پروژه‌ای متن‌باز برای جاوا اسکریپت است که در سال ۲۰۱۳ توسط Nicholas C. Zakas معرفی شد. از ‌ESLint برای آنالیز سورس کرد به صورت استاتیک و طبق قوانین مشخص شده استفاده می‌شود که در اصطلاح به آن Linting می‌گویند.

طبیعتا این قوانین برای فریم‌ورک‌ها، کتاب‌خانه‌ها و حتی پروژه‌های اختصاصی خودتان متفاوت خواهد بود. شاید بخواهید از انگولار، ری‌اکت، ری‌اکت نیتیو، ES6 یا ES7 استفاده کنید که طبیعتا گرامرهای متفاوتی برای نوشتن خواهند داشت و شما نیاز به دستیاری دارید تا این گرامرها را دنبال کند. یکی دیگر از فواید مهم استفاده از Linterها یکسان‌سازی ساختار کدها بین اعضای تیم است. به این شکل خوانایی کدها برای همه به یک اندازه خواهد بود و از اتلاف وقت در درک مجدد آن پرهیز می‌شود.

دردسری که اینجا بوجود می‌آید نوشتن این قوانین است که جزئیات زیادی می‌طلبد و باید با راهکارهای مختلف هر پروژه هماهنگ باشد اما این نگرانی توسط تلاش دیگران برای استانداردسازی بسته‌های قوانین رفع می‌شود.

نصب و تنظیم

در حال حاضر React Native نیز از این قاعده مستثنا نیست و می‌توانید به راحتی با نصب پکیج مناسب برای آن قوانین را استفاد کنید. بعد از جستجوهای فراوان پیشنهاد من برای استفاده نصب این ۴ پکیج است:

  • babel-eslint
  • eslint
  • eslint-plugin-react
  • eslint-plugin-react-native

برای نصب می‌توانیم از npm استفاده کنید:

npm install --save-dev babel-eslint npm install --save-dev eslint npm install --save-dev eslint-plugin-react npm install --save-dev eslint-plugin-react-native // OR npm install --save-dev babel-eslint eslint eslint-plugin-react eslint-plugin-react-native

پس از نصب باید به ESLint بگویید که از این قوانین استفاده کند. برای این کار فایلی با نام `.eslintrc` بسازید و محتوای آن را برابر زیر قرار دهید:

{ "parser": "babel-eslint", "env": { "react-native/react-native": true, "browser": true }, "plugins": [ "react" ], "extends": [ "eslint:recommended", "plugin:react/recommended" ], "rules": { // overrides } }


کاربرد Browser: true

یکی از توانایی‌های React Native شبیه‌سازی امکانات مرورگر مانند setInterval است و به همین دلیل با اضافه کردن این کد به ESLint می‌گوییم که این امکانات را مشکل در نظر نگیرد.


استفاده در ادیتورها و سازنده‌ها

فراموش نکنید که ESLint برای ادیتور و سازنده‌ی مورد علاقه‌ی شما هم وجود دارد و برای نمایش و گزارش مشکلات نیاز به گزینه مناسب خود نیاز دارید. برخی از پلاگین‌ها در زیر لیست شده‌اند تا به راحتی آن‌ها را بیابید:

SublimeLinter-eslint برای Sublime

linter-eslint برای Atom

ESLint Extension برای Visual Studio Code

grunt-eslint برای Grunt

gulp-eslint برای Gulp

react nativeeslintjavascriptreactapp
۱۱
۳
Peyman Eskandari
Peyman Eskandari
جامعه توسعه دهندگان ری‌اکت ایران
جامعه توسعه دهندگان ری‌اکت ایران
جامعه غیر انحصاری توسعه دهندگان React JS و React Native ایران
شاید از این پست‌ها خوشتان بیاید