grunt学习笔记三:gruntfile.js-demo

//wrapper 函数, 包含整个Grunt函数
//配置 五个插件
module.exports = function(grunt){ 
//初始化configure对象
grunt.initConfig({ 
//将 package.json 文件的配置信息 存入 pkg 属性内部,来访问package文件内的属性
pkg: grunt.file.readJSON('package.json')
//配置concat对象
concat:{ 
options:{ 
//定义一个用于插入合并输出文件之间的字符
separtor:";"
},
dist:{ 
//将要合并的文件
src: ['src/**/*.js'],
//合并后的js文件 存放位置
dest: 'dist/<%= pkg.name %>.js'
}
}
//配置uglify插件
//让uglify在dist/目录中创建了一个包含压缩结果的JavaScript文件
uglify:{ 
options:{ 
// 此处定义的banner注释将插入到输出文件的顶部
banner:'/*! <%= pkg.name %> <%= grunt.template.today("dd-mm-yyyy") %> */\n'
},
dist:{ 
files:{ 
//uglify会自动压缩concat任务中生成的文件
'dist/<%= pkg.name %>.min.js': ['<%= concat.dist.dest %>']
}
}
}
//QUnit插件
qunit:{ 
files:['test/**/*.html']
},
//JSHint插件
jshint: { 
// define the files to lont
//文件数组(也就是你需要检测的文件数组)
files:['gruntfiles.js','src/**/*.js','test/**/*.js'],
//configure JSHint (documented at http://www.jshint.com/docs/)
// options 对象用于重写JSHint提供的默认检测规则
options: { 
//more options here if you want to override JSHint defaults
globals:{ 
jQuery:true,
console:true,
module:true
}
}
}
//watch插件:
//你可以在命令行使用grunt watch来运行这个任务。
//当它检测到任何你所指定的文件(在这里我使用了JSHint任务中需要检测的相同的文件)发生变化时,
//它就会按照你所指定的顺序执行指定的任务(在这里我指定了jshint和qunit任务)
watch:{ 
files:['<%= jshinit.files %>'],
tasks:['jshinit','qunit']
}


//加载所需要的Grunt插件
//应该已经全部通过npm安装好了
grunt.loadnpmTasks('grunt-contrib-uglify');
grunt.loadNpmTasks('grunt-contrib-jshint');
grunt.loadNpmTasks('grunt-contrib-qunit');
grunt.loadNpmTasks('grunt-contrib-watch');
grunt.loadNpmTasks('grunt-contrib-concat');


//在命令行上输入"grunt test",test task就会被执行。
grunt.registerTask('test',['jshint','qunit']);
//只需在命令行上输入"grunt",就会执行default task
grunt.registerTask('default',['jshint','qunit','concat','uglify']);
});
};
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值