grunt学习笔记三:gruntfile.js-demo
2015-11-10 18:30
543 查看
//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']);
});
};
//配置 五个插件
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']);
});
};
相关文章推荐
- grunt学习笔记二:package.js
- JS异步代码执行和同步代码之间的关系
- Javascript获取最近若干个月
- js sort数组根据某字段排序
- ajax.js
- setTimeout.js
- setInterval.js
- userDefineFunc.js
- returnFunc.js
- regular.js
- js求时间差
- inheritPrototypal.js
- InheritParasitic.js
- inheritConstructorStealing.js
- inheritCombinedParasitic.js
- inheritCombination.js
- ImmediateFunc.js
- domOperation.js
- callback.js
- array.js