关于grunt

Grunt中文网 : http://www.gruntjs.net/getting-started

其它参考:http://www.2cto.com/kf/201407/314975.html

说明,大多数命令是在项目根目录运行

1. 安装node环境,因为grunt基于nodejs

2. 安装grunt-cli, npm install -g grunt-cli

3. 在根目录新建package.json,

{
  "name": "AngularAndRequire",
  "version": "0.1.0",
  "description" : "AngularAndRequire1.0",
  "author": "Mario.Li",  
  "devDependencies": {
    "grunt": "~0.4.1",
    "grunt-contrib-jshint": "~0.6.3",
    "grunt-contrib-uglify": "~0.2.1",
    "grunt-contrib-concat": "~0.1.1"
  }
}


其中dep与grunt相关, 在根目录运行npm install 就按照dep安装了grunt及其插件,当然也可以一个个安装。

4. 新建Gruntfile.js

module.exports = function(grunt) {
    // 配置
    grunt.initConfig({
        pkg : grunt.file.readJSON('package.json'),
        concat : { //任务名称是需根据插件的说明来写
            libs : { //目标名称随便你起
                src: ['frontend/libs/*.js', '!frontend/libs/require.js'],
                dest: 'dest/libs.js'
            },
            custs: {
                src: ['frontend/**/*.js', '!frontend/libs/*.js'],
                dest: 'dest/cust.js'
            }
        },
        uglify : {
            options : {
                banner : '/*! <%= pkg.name %> <%= grunt.template.today("yyyy-mm-dd") %> */\n'
            },
            buildlibs : {
                src : 'dest/libs.js',
                dest : 'dest/libs.min.js'
            },
            buildcusts : {
                src : 'dest/cust.js',
                dest : 'dest/cust.min.js'
            }
        }
    });
    // 载入concat和uglify插件,分别对于合并和压缩
    grunt.loadNpmTasks('grunt-contrib-concat');
    grunt.loadNpmTasks('grunt-contrib-uglify');
    // 注册任务
    grunt.registerTask('default', ['concat', 'uglify']);
};


5. 在根目录运行grunt


压缩css

需要grunt-css插件

package.json

{
  "name": "AngularAndRequire",
  "version": "0.1.0",
  "description" : "AngularAndRequire1.0",
  "author": "Mario.Li",  
  "devDependencies": {
    "grunt": "~0.4.1",
    "grunt-contrib-jshint": "~0.6.3",
    "grunt-contrib-uglify": "~0.2.1",
    "grunt-contrib-concat": "~0.1.1",
    "grunt-css": "~0.5.4"
  }
}


Gruntfile.js

module.exports = function(grunt) {
    // 配置
    grunt.initConfig({
        pkg : grunt.file.readJSON('package.json'),
        concat : {
            libs : {
                src: ['frontend/libs/*.js', '!frontend/libs/require.js'],
                dest: 'dest/libs.js'
            },
            custs: {
                src: ['frontend/**/*.js', '!frontend/libs/*.js'],
                dest: 'dest/cust.js'
            },
            css : {//css合并 与grunt-css无关
                src : ['frontend/styles/*.css', '!frontend/styles/index.css'],
                dest : 'dest/custCss.css'
            }
        },
        uglify : {
            options : {
                banner : '/*! <%= pkg.name %> <%= grunt.template.today("yyyy-mm-dd") %> */\n'
            },
            buildlibs : {
                src : 'dest/libs.js',
                dest : 'dest/libs.min.js'
            },
            buildcusts : {
                src : 'dest/cust.js',
                dest : 'dest/cust.min.js'
            },
        },
        cssmin : { //css压缩
            buildCss : {
                src : 'dest/custCss.css',
                dest : 'dest/custCss.min.css'
            }
        }
    });
    // 载入concat和uglify插件,分别对于合并和压缩
    grunt.loadNpmTasks('grunt-css');
    grunt.loadNpmTasks('grunt-contrib-concat');
    grunt.loadNpmTasks('grunt-contrib-uglify');
    // 注册任务
    grunt.registerTask('default', ['concat', 'uglify', 'cssmin']);
};

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值