Throughout the series, we’ve seen how powerful AngularJS is and how quickly you can write unit tests for your application. In this post, we’ll take a look at grunt .
To create a build, simply execute:
$ grunt build
Above command does a lot of things such as run all tests, compile sass/compass files, minification of css and js, etc.
In our case, we’ve to do slight modifications in Gruntfile.js
. If you want to include directories/files which were not created by the generator but to be needed in dist
then just locate copy
option in Gruntfile.js
and add it in src
array.
copy: { dist: { files: [{ . . . . src: [ '*.{ico,txt}', '.htaccess', 'components/**/*', 'images/{,*/}*.{gif,webp}', 'styles/fonts/*', // including data/ directory 'data/*' ] }] } }
And at the bottom under grunt.registerTask('build')
option, you can comment/remove tasks to be omitted during the build.
grunt.registerTask('build', [ 'clean:dist', // Do not require below tasks // 'jshint', // 'test', // 'coffee', 'compass:dist', 'useminPrepare', 'imagemin', 'cssmin', 'htmlmin', 'concat', 'copy', 'cdnify', 'ngmin', 'uglify', 'rev', 'usemin' ]);
Grab source code
I really enjoyed writing this series and hope you like it. You can grab the source code from github. or checkout the working demo.