3.1 KiB
layout | title |
---|---|
page | Compiling with Grunt |
Bootstrap uses Grunt for its build system, with convenient methods for working with the framework. It's how we compile our code, run tests, and more.
Install Grunt
To install Grunt, you must first download and install node.js (which includes npm). npm stands for node packaged modules and is a way to manage development dependencies through node.js.
From the command line:
- Install
grunt-cli
globally withnpm install -g grunt-cli
. - Navigate to the root
/bootstrap
directory, then runnpm install
. npm will look at package.json and automatically install the necessary local dependencies listed there. - Install Ruby, install Bundler with
gem install bundler
, and finally runbundle
. This will install all Ruby dependencies, such as Jekyll and Sass linter.
When completed, you'll be able to run the various Grunt commands provided from the command line.
Unfamiliar with npm? Don't have node installed? That's a-okay. npm stands for node packaged modules and is a way to manage development dependencies through node.js. Download and install node.js before proceeding.
Available Grunt commands
Build - grunt
Run grunt
to run tests locally and compile the CSS and JavaScript into /dist
. Uses Sass and UglifyJS.
Only compile CSS and JavaScript - grunt dist
grunt dist
creates the /dist
directory with compiled files. Uses Sass and UglifyJS.
Tests - grunt test
Runs JSHint and QUnit tests headlessly in PhantomJS (used for CI).
Build and test docs assets - grunt docs
Builds and tests CSS, JavaScript, and other assets which are used when running the documentation locally via jekyll serve
.
Watch - grunt watch
This is a convenience method for watching just Sass files and automatically building them whenever you save.
Use another Sass compiler
Bootstrap is compiled with libsass by default.
Use another compiler by setting the TWBS_SASS
environment variable to:
sass
to use Ruby Sass via grunt-contrib-sass.libsass
(default) to use libsass via grunt-sass.
For example, run TWBS_SASS=sass grunt
to test and build Bootstrap with Ruby Sass.
Troubleshooting dependencies
Should you encounter problems with installing dependencies or running Grunt commands, uninstall all previous dependency versions (global and local). Then, rerun npm install
.