I used yo webapp or yo angular to create new a project, and I received Bootstrap include is version 2.3.2, but I want use the latest version of Bootstrap.
How can I
@micjamking answer is a really good hint, but since with Yeoman things should be easier, I'll save you some googling:
yo angular - Say 'No' to Bootstrap here - otherwise it'll download 2.x versionbower install --save bootstrapnpm install --save-dev grunt-bower-installedit Gruntfile.js - insert marked lines:
// ...
} catch (e) {}
grunt.loadNpmTasks('grunt-bower-install'); // INSERT
grunt.initConfig({
yeoman: yeomanConfig,
'bower-install': { // INSERT BEGIN
target: { // .
html: '<%= yeoman.app %>/index.html', // .
ignorePath: '<%= yeoman.app %>/' // .
} // .
}, // INSERT END
watch: {
coffee: {
files: ['<%= yeoman.app %>/scripts/{,*/}*.coffee'],
tasks: ['coffee:dist']
// ...
edit app/index.html - insert :
and:
where appropriate - those will inject references to bower-managed resources (bootstrap's stylesheet and JS in our case).
update 10/5/2013: Consider placing bower:xxx inside build:xxx.
In our case, bower:css inside build:css and bower:js inside build:js.
This is needed for minification to work when assembling dist. However I consider this approach not so perfect - see Remarks below. I'm excused a little bit, since this is the very same way the bootstrap version obtained by Yeoman by default gets included in our app :-P
Note: To get css minification working you might need changing build:css(.tmp) to build:css({.tmp,app}).
grunt bower-install
Ready. Now run server (grunt server) and Bootstrap 3 will be available.
Based on this I added one sub-step to make dist minification work.
Bower's injecting works, so does minifying, however I'm not so happy with this approach.
Reasons:
@yao tony also hadn't found this approach cool - see the referenced question.
Update Nov 2013: You can use grunt's cdnify task. It's cool
Software versions I was using:
user@machine:~/somewhere $ yo -v; grunt --version; bower -v
1.0.4
grunt-cli v0.1.9
grunt v0.4.1
1.2.6