From the BlogSubscribe Now

How to install Bootstrap (v2.0.2) in ExpressJS (v3.0.0)

I’m certainly no expert when it comes with using ExpressJS or Bootstrap so there may be far better ways of doing this than what I detail below, however, if you do know of better ways please let me know as I bumbled my way through!

Here goes.

Prerequisites:

I’m installing this on an Ubuntu 11.10 EC2 micro instance and assuming that you have the following installed: node npm make zip unzip git

Process:

  1. Install via NPM the following: ExpressJS, Less & UglifyJS: ~$ npm install -g express less uglify-js (you may need to sudo npm install -g express less uglify-js
  2. Create an ExpressJS working directory, we’ll call it testme, with Less: ~$ express --css less testme
  3. Move inside your new directory: ~$ cd testme
  4. Create a new directory called vendors: ~/testme$ mkdir vendors
  5. Move inside the vendors directory: ~/testme$ cd vendors
  6. Download from github Bootstrap: ~/testme/vendors$ git clone https://github.com/twitter/bootstrap.git bootstrap
  7. Move into the newly created Bootstrap directory: ~/testme/vendors$ cd bootstrap
  8. Build Bootstrap: ~/testme/vendors/bootstrap$ make -i (you may see a cannot remove `docs/assets/bootstrap.zip` file – just ignore) – it would also be great if you could make to a target directory, but I couldn’t find how this could be done.
  9. Once the build has been completed move to the docs/assets directory: ~/testme/vendors$ cd bootstrap/docs/assets
  10. You should see a css, img, js folders and a bootstrap.zip file: ~/testme/vendors/bootstrap/docs/assets$ ls
  11. Go back to the testme folder: ~/testme/vendors/bootstrap/docs/assets$ cd ~/testme
  12. Move the bootstrap zip file you just created into your public folder: ~/testme$ mv vendors/bootstrap/docs/assets/bootstrap.zip public
  13. Move to the public folder: ~/testme$ cd public
  14. Unzip the bootstrap.zip file: ~/testme/public$ unzip bootstrap.zip
  15. You should see a bootstrap folder in the public folder ~/testme/public$ ls
  16. Remove the bootstrap.zip file: rm bootstrap.zip
  17. Now it’s a matter of linking to the bootstrap stylesheets in your jade layout template files. Edit the views/layout.jade file to include references to the bootstrap files, remember Bootstrap needs the latest jQuery, so you may want to include reference to this too, here’s what my layout.jade looks like:
  18. To test that it works, edit the views/index.jade file to include a reference that Bootstrap will be able to use, something like:

And there you have it! Being able to use a compiled Bootstrap file with your ExpressJS install.

Comments

  1. great tutorial!  very detailed.  thanks!

  2. Hi Ryan! Thanks for your nice tutorial. I’ve used it to learn how to integrate Bootstrap with Node.js and I also wrote a similar tutorial basing on this one, improving the Bootstrap installation part and of course pointing to the original tutorial you wrote :)
    You can find my version here http://www.andreagrandi.it/2013/02/24/using-twitter-bootstrap-with-node-js-express-and-jade/ I hope that both can be uselful for people. Thanks again!

Trackbacks

  1. [...] Note: once again, I'm not a Node.js expert and surely there are other ways to achieve this task (for example there is a Node.js module called twitter-bootstrap, but I haven't tried it). This tutorial is based on another tutorial I found, but it was not very updated and it had a more complicated way to install Bootstrap, so I decided to write a new one basing it on the original http://www.rs.au.com/31/how-to-install-bootstrap-v2-0-2-in-expressjs-v3-0-0 [...]

Speak Your Mind

*