آموزش استفاده از Grunt برای مدیریت وظایف تکراری - Grunt (جلسه 27) - بررسی Javascript با JSHint -قسمت 2

- visibility ٢ mode_comment

در این مطلب با ادامه آموزش Grunt در خدمتتون هستیم.

grund

در جلسه قبل دیدیدم که چطور میشه با استفاده از خود سایت jshint کدهای js خودمون رو بررسی کنیم. شما میتونین در اینجا آموزش و مستندات jshint رو ببینید و با option ها و ویژگی های اون آشنا بشید.

حالا میخایم بصورت ساده کاری کنیم که فایل final.js با استفاده از پلاگین grunt-contrib-jshint مورد بررسی قرار بگیره. برای این کار بصورت زیر عمل میکنیم:grunt jshint oprions

میبینید که یک وظیفه بنام hint درون jshint ساختیم و درون ویژگی src نیز، مسیر فایل final.js رو مشخص کردیم. شما میتونین با قرار دادن مسیرهای همچون path/to/**/*.js فایلهای بیشتری رو همزمان مورد بررسی قرار بدین. ما در اینجا برای راحتی کار فقط بررسی رو روی یک فایل انجام میدیم. اگر تا همینجا درون cmd عبارت grunt jshint رو تایپ کرده و اینتر بزنیم، همون خروجی که در سایت jshint رو دیدیم، خواهیم دید:grunt jshint oprions 2

میبینید که یک Error برای همون debugger داده شده و گفته که در خط 29 هم قرار داره. چون به ارور برخورده روند اجرای کار رو متوقف کرده و از همونجا خارج شده و بقیه کد رو بررسی نکرده. برای اینکه jshint رو مجبور کنیم که اگر ارور هم وجود داشت، بکارش ادامه بده، باید از grunt jshint --force استفاده کنیم.grunt jshint oprions 3

میبینید که حالا Done رو نوشته ولی بهمون گفته که فایلمون همراه با ارور و مشکل هست. اگر درون فایل final.js خط 29 که همون debugger درونش قرار داره رو پاک کنیم و دوباره اجرا کنیم، بصورت زیر خواهد بود:grunt jshint oprions 4

حالا debugger رو سر جاش میزارم و همه چی رو بر میگردونم به حالت قبل. اگر بخوایم کاری کنیم که کلا jshint اگر به ارور هم برخورد کرد، به روند کارش ادامه بده، باید ویژگی force رو برابر با true قرار بدیم. بصورت زیر:grunt jshint oprions 5

حالا اگر jshint با ارور هم مواجه بشه، اون رو به شما نشون میده ولی تا آخر فایل رو بررسی میکنه. شما میتونین نحوه گزارش دهی jshint رو بهتر و زیباتر کنید و برای اینکار میتونین از ابزارهایی که موجوده استفاده کنید. ما برای اینکار jshint-stylish رو درون پروژه خودمون نصب میکنیم. برای اینکار عبارت زیر رو درون cmd تایپ میکنیم:

اینتر میزنیم:install jshint stylish

حالا برای اینکه این گزارش دهنده یا reporter رو به jshint و grunt معرفی کنیم، باید بصورت زیر عمل کنیم:install jshint stylish 2

حالا اگر دوباره jshint رو اجرا کنید، ارورهایی که میگیرید خیلی زیباتر به شما نمایش داده میشه و بهتر میتونین با اون رابطه برقرار کنید. فرض کنید یک semicolon یا ; رو از فایل final.js پاک کنم. حالا اگر دوباره grunt jshint رو اجرا کنم، بصورت زیر خواهد بود:run jshint

میبینید که دو تا هشدار بهم نمایش داده شده و همچنین اگر یک { رو هم پاک کنم و دوباره اجرا کنم، بصورت زیر میشه:run jshint 2

میبینید که ارور و هشدار ها نمایش داده شدن. در اینجا همه Option ها و ویژگی هایی که میتونین از اونا در jshint استفاده کنید، قرار داده شده. درون همین صفحه برای مثال گفته شده که با استفاده از ویژگی asi میتونین هشدار semicolon ها رو خاموش کنید. ما برای اینکار این ویژگی رو برابر با true قرار میدیم:true semicolon

حالا اگر دوباره jshint رو اجرا کنیم، هشدار semicolon داده نمیشه دیگه:true semicolon 2

اگه شما بخواید بصورت کلی و عمومی مشخص کنید که یک سری از ویژگی ها برای شما بررسی نشه، میتونین یک فایل بنام .jshintrc بسازید و ویژگی های مورد نظرتون رو درون اون قرار بدین و خاموششون کنید. با اینکار اون ویژگی ها در همه جای پروژه شما اعمال خواهند شد. برای مثال من یک فایل .jshintrc در کنار gruntfile.js میسازم و کدهای زیر رو درونش قرار میدم:

حالا برای اینکه به jshint و grunt بگیم که این فایل رو در نظر بگیرن، باید بصورت زیر عمل کنیم:jshintrc

با اینکار jshint ویژگی های درون فایل jshintrc رو در نظر میگیره و متناسب با اون کدهای شما رو بررسی میکنه. برای مطالعه بیشتر در مورد این پلاگین به اینجا سر بزنید.

در جلسات بعدی بیشتر در مورد Grunt صحبت میکنیم.

امیدوارم از این جلسه خوشتون اومده باشه.

موفق باشید

یا علی

Source

comment دیدگاه کاربران

سلام
مرسی بابت آموزش خوبتون
یادم نمی یاد کی فریمورک یا کتابخونه ای رو از سایت های ایرانی یادگرفته باشم یا کلا کی تو سایت های ایرانی مطلبی خونده باشم
اما امروز به صورت تصادفی که مقاله شما رو خوندم واقعا جذب شدم و کل آموزش های این دوره رو خوندم
بهتون تبریک می گم به خاطر آموزش سلیس و کابردی تون
مرسی

محمد اسفندیاری

سلام لطف دارید
خیلی خوشحال شدم که این سری آموزشی تونسته نظر شما رو جلب کنه
موفق و پیروز باشید

نیاز به لاگین

برای ارسال دیدگاه و یا پرسیدن سوال خود در این قسمت، باید در سایت لاگین شوید.