با توجه به رشد روز افزون وب و مراحل تکامل برنامه نویسی آن ، نیاز به ابزارهایی که نصب ، به روز رسانی و مدیریت کتابخانهها و ابزارهای جانبی استفاده شده در پروژهها را بطور خودکار انجام دهند بیش از پیش احساس میشود.
Bower یکی از ابزارهایی است که برای کمک به این امر معرفی شده است.
Bower چیست؟
Bower یک package manager برای فن آوریهای سمت کلاینت است.توانایی نصب ، جستجو و حذف کتابخانههای Javascript،HTML،CSS دارد.
مزایا:
- نصب ابزارها و کتابخانهها توسط یک خط فرمان!
- به جای اینکه در سایتهای مختلف ورژن کتابخانهها را پیگیری کنید و update شدن یا نشدن آنها را بررسی نمایید(مثلا آیا jQueryمورد استفاده درپروژه ، آخرین نسخه است؟) ، با استفاده از Bower در کمترین زمان ممکن این کار را انجام دهید.
- نصب آفلاین. وقتی کتابخانه ای برای اولین بار نصب شود کش شده و دفعات بعد برای نصب همان کتابخانه(و البته همان ورژن) از کش استفاده خواهد کرد.(مگر اینکه کاربر صراحتا کش را خالی کرده باشد).
- نصب کتابخانههای وابسته. اگر کتابخانه ای وابسته به کتابخانههای دیگر باشد (مثل وابستگی Twitter Bootstrap به jQuery)، بطور خودکار وابستگیها نیز نصب میگردند.
مراحل نصب :
قبل از نصب باید دو ابزار زیر در سیستم نصب شده باشند:
- Nodejs
- Git : برخی از کتابخانهها باید از مخزن Git واکشی شوند.
نصب Bower :
در خط فرمان دستور زیر را اجرا نمایید:
دستور بالا Bower را بصورت global نصب خواهد کرد و اکنون میتوان کتابخانههای مختلف را نصب نمود.
نصب کتابخانه ها:
برای نصب کتابخانهها از دستور زیر استفاده میشود:
برای مثال برای نصب کتابخانه angularjs باید دستور زیر را اجرا نمود:
یا jQuery:
ممکن است نیاز باشد تا ورژن خاصی از یک کتابخانه را نصب کنید که در این صورت باید مانند مثال زیر عمل کرد:
bower install <package>#<version>
bower install jquery#1.7.0
دستور فوق نسخه 1.7.0 jQuery را نصب خواهد کرد.
پس از اجرای دستور، در مسیر جاری فولدری به نام bower_components ایجاد شده و کتابخانهها در آن قرار میگیرند.
bower_components/
jquery/
README.md
bower.json
component.json
composer.json
jquery-migrate.js
jquery-migrate.min.js
jquery.js
jquery.min.js
jquery.min.map
package.json
و در نهایت نحوه استفاده:
<script type="text/javascript" src="bower_components/jquery/jquery.js"></script>
جستجو در کتابخانه ها:
Bower امکان جستجو در کتابخانههای ثبت شده را میدهد. مثال:
bower search bootstrap
Search results:
bootstrap git://github.com/twbs/bootstrap.git
angular-bootstrap git://github.com/angular-ui/bootstrap-bower.git
sass-bootstrap git://github.com/jlong/sass-twitter-bootstrap.git