web项目构建很有必要,但是作为小作坊开发,一直也不想去多花一点精力去折腾,今天终于鼓起勇气去啃了啃Grunt。光看Grunt的官方文档有点枯燥,下面是Snandy写的一些列实际的例子,这个就比较直观了,由于比较懒,喜欢拿来主义,摘抄在这里哦。
下面简单的描述过程:
1、安装node
2、安装grunt-cli
#-g 全局安装 npm install -g grunt-cli
3、安装grunt及插件
#进入到某项目根目录,使用命令 npm install grunt --save-dev
(4——7JavaScript资源的合并、压缩)
4、编辑项目
#项目目录 root |-src |-ajax.js |-selector.js |-package.json |-Gruntfile.js
5、编辑pageage.json
{ "name": "Bejs", "version": "0.1.0", "devDependencies": { "grunt": "~0.4.0", "grunt-contrib-jshint": "~0.1.1", "grunt-contrib-uglify": "~0.1.2", "grunt-contrib-concat": "~0.1.1" } } #grunt-contrib-jshint js语法检查 #grunt-contrib-uglify 压缩,采用UglifyJS #grunt-contrib-concat 合并文件
#执行安装 npm install
6、编辑Gruntfile.js
/** * 合并src下的文件(ajax.js/selector.js)为domop.js * 压缩domop.js为domop.min.js * 这两个文件都放在dest目录下 */ module.exports = function(grunt) { // 配置 grunt.initConfig({ pkg : grunt.file.readJSON('package.json'), concat : { domop : { src: ['src/ajax.js', 'src/selector.js'], dest: 'dest/domop.js' } }, uglify : { options : { banner : '/*! <%= pkg.name %> <%= grunt.template.today("yyyy-mm-dd") %> */ ' }, build : { src : 'dest/domop.js', dest : 'dest/domop.min.js' } } }); // 载入concat和uglify插件,分别对于合并和压缩 grunt.loadNpmTasks('grunt-contrib-concat'); grunt.loadNpmTasks('grunt-contrib-uglify'); // 注册任务 grunt.registerTask('default', ['concat', 'uglify']); };
7、执行grunt任务
grunt
(8——11css资源的合并、压缩)
8、编辑项目
同上
9、编辑pageage.json
{ "name": "BeJS", "version": "0.1.0", "devDependencies": { "grunt": "~0.4.0", "grunt-contrib-concat": "~0.1.1", "grunt-css": ">0.0.0" } }
10、编辑Gruntfile.js
module.exports = function(grunt) { // 配置 grunt.initConfig({ pkg : grunt.file.readJSON('package.json'), concat : { css : { src: ['src/asset/*.css'], dest: 'dest/asset/all.css' } }, cssmin: { css: { src: 'dest/asset/all.css', dest: 'dest/asset/all-min.css' } } }); // 载入concat和css插件,分别对于合并和压缩 grunt.loadNpmTasks('grunt-contrib-concat'); grunt.loadNpmTasks('grunt-css'); // 默认任务 grunt.registerTask('default', ['concat', 'cssmin']); };
11、执行grunt任务
同上
npm install