twbs--bootstrap/docs/getting-started/compiling.md

3.1 KiB

layout title
page Compiling

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:

  1. Install grunt-cli globally with npm install -g grunt-cli.
  2. Navigate to the root /bootstrap directory, then run npm install. npm will look at package.json and automatically install the necessary local dependencies listed there.
  3. Install Ruby, install Bundler with gem install bundler, and finally run bundle. 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

Task Description
grunt Run grunt to run tests locally and compile the CSS and JavaScript into /dist. Uses Sass and UglifyJS.
grunt dist grunt dist creates the /dist directory with compiled files. Uses Sass and UglifyJS.
grunt test Runs JSHint and QUnit tests headlessly in PhantomJS (used for CI).
grunt docs Builds and tests CSS, JavaScript, and other assets which are used when running the documentation locally via jekyll serve.
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:

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.