Wednesday, 28 May 2014

Bower - Digging a bit deeper

I've been using Bower to install packages into my apps in WebStorm for a while now. I really like how unobtrusive it is compared with Nuget in Visual Studio which always leaves me wondering what it has installed and where.

Bower is described as 'unopinionated' which I guess means that it doesn't try to tell you what to do with the packages it downloads and trusts you to do the right thing. This pleases me as I hate filling my projects full of junk an not knowing what has been altered.

Bower keeps the packages it downloads tidily away in a folder called 'bower_components', I just leave the files in there and reference them from my pages.

I've even started using bower in my Visual Studio projects recently rather than Nuget, I guess that says a lot about how much of my coding has moved to client side over the last year or so.

As with other great tools like Git or Resharper I always feel like I'm only using a fraction of whats there so I was pleased to see a new course on Pluralsight by one of my favorite course authors Joe Eames digging a bit deeper into what can be done with Bower.

As always with Pluralsight it's a great course and having watched it and taken a few notes, i'm now ready to use Bower to manage my dependencies in a smarter way rather than just using it to install packages and nothing else.

Here's what I learnt:


  1. The .bowerrrc file stores where the files are located so that when you manage your dependencies bower knows where to put them.
  2. bower init
    Rruns you through the creation of a bower.json file for your project.

  3. bower info <packagename>  
    shows you what versions are available. By default Bower will download the latest.

  4. bower update  
    updates all your bower installed packages to the latest versions.

  5. bower install <packagename>
    not only installs the package initially but is used again to update the package to a later version if available.

  6. bower list
    shows your installed packages and dependencies in a tree view.

  7. bower search
    searches for bower packages in the bower repository where the title contains specified text.  Joe mentions that this does not search descriptions and you'll need to go to the bower website for that.

  8. bower cache clean
    Bower keeps a local cache of packages so that if you download the same one more than once for different applications it will use the one it has stored locally if its the newest.

  9. bower install <packagename> --o 
    Installs the package from the cache in offline mode not checking for the latest version from the Bower repository.

  10. bower install <path>
    installs your own package from a local git repository. (the Bower repository is just a GitHub repo)

  11. bower install <urltofile>
    Installs a single js file when the full Url to it is provided

  12. bower install <package> --save
    saves a reference to the package in the bower.json file meaning that you can check your project in without the packages and pull them in when needed using bower install --production

  13. bower install <packagename> --save-dev
    saves a reference to the dev packages in the bower.json file meaning that you can check your project in without the packages and pull them in when needed.

  14. bower help
    Lists commands and options

  15. bower help <command>
    List deeper info on that command

  16. bower lookup <package>
    Gets the GitHub Url to the package.

  17. bower prune
    Uninstall any package which is not listed as a dependency in the bower.json file.

  18. bower install <packagename> <packagename> <packagename>  --save
    Multiple packages can be installed in one go.
Joe goes into a lot more detail and also demonstrates publishing your own project to GitHub, registering it with Bower and then pulling it into a new application with Bower. I'd definitely recommend doing this course. If you don't have a Pluralsight subscription you can get a free trial. This course is only an hour long but there are lots more great courses in there.


Links

Bower Fundamentals - Pluralsight
Joe Eames - Pluralsight
Bower Website
GitHub


1 comment:

  1. đồng tâm
    game mu
    cho thuê nhà trọ
    cho thuê phòng trọ
    nhac san cuc manh
    số điện thoại tư vấn pháp luật miễn phí
    văn phòng luật
    tổng đài tư vấn pháp luật
    dịch vụ thành lập công ty trọn gói
    marketing
    kinh dịch
    contingency plan
    búp sen xanh
    thương mại mới
    học thuyết công bằng
    thuyết nhu cầu
    mô hình aida
    chuỗi giá trị
    atl

    - Anh, Quang Lộ An Nguyên tăng lên 11.5, Thiên Đỉnh cũng tăng lên 9.8, mấy hôm nay tăng liên tục.

    Đức Sơn nói với giọng khàn khàn đầy hưng phấn, Triệu Quốc Đống ở cách xa vài chục Km cũng có thể nhận ra được.

    - Ừ, tiếp tục bám trụ. Chỉ cần Quang Lộ vượt trên 12 lần là bán ngay.
    Triệu Quốc Đống suy nghĩ một chút rồi nói. Bây giờ thời cơ đã đến, chợ cổ phiếu này đúng là có nhiều người tham gia nên dù chấp nhận thiệt một chút thì cũng phải đảm bảo tiền về túi an toàn.

    - Vậy còn Thiên Đỉnh thì sao anh?
    Đức Sơn ngẩn ra, mấy hôm nay giá tăng lên như thủy triều, có lẽ ngày mai là lên đến 12 lần. Xem ra một tuần nữa tăng lên 15 lần cũng rất đơn giản. Bây giờ đã bán ra có phải phí không?

    - Không cần biết Thiên Đỉnh tăng bao nhiêu. Chỉ cần Quang Lộ tăng lên 12 thì bán hết ra. Sau này tăng hay giảm cũng mặc.
    Triệu Quốc Đống không hề do dự nói.

    - Anh, có nên xem thêm hai ngày nữa không. Em thấy Quang Lộ còn có thể lên 15 lần.
    Đức Sơn do dự một chút rồi nói.

    - Anh biết nhưng tăng càng cao càng nguy hiểm. Trên 16 lần cũng có khả năng, nhưng mục đích của chúng ta đã đạt được, không cần mạo hiểm.
    Triệu Quốc Đống lạnh lùng cắt ngang lời Đức Sơn:

    ReplyDelete