| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145 |
- // 包装函数
- module.exports = function(grunt) {
-
- // 任务配置,所有插件的配置信息
- grunt.initConfig({
- //获取 package.json 的信息
- pkg: grunt.file.readJSON('package.json'),
-
- // uglify插件的配置信息
- uglify: {
- options: {
- stripBanners: true,
- banner: '/*! <%=pkg.name%>.js <%= grunt.template.today("yyyy-mm-dd") %> */\n'
- },
- build: {
- src: 'src/js/<%=pkg.name%>.js',
- dest: 'dist/js/<%=pkg.name%>.min.js'
- }
- },
- //less插件的配置信息
- less: {
- editor: {
- src: 'src/css/<%=pkg.name%>.less',
- dest: 'src/css/<%=pkg.name%>.css'
- }
- },
- //cssmin插件的配置信息
- cssmin: {
- options: {
- stripBanners: true,
- banner: '/*! <%=pkg.name%>.css <%= grunt.template.today("yyyy-mm-dd") %> */\n'
- },
- build: {
- src: 'src/css/<%=pkg.name%>.css',
- dest: 'dist/css/<%=pkg.name%>.min.css'
- }
- },
- //jshint插件的配置信息'
- jshint:{
- build: [ 'Gruntfile.js', 'src/js/*.js' ],
- options: {
- jshintrc: '.jshintrc'
- }
- },
- //concat插件的配置信息
- concat: {
- css:{
- src: 'src/css/parts/*.less',
- dest: 'src/css/<%=pkg.name%>.less'
- },
- js:{
- src: 'src/js/parts/*.js',
- dest: 'src/js/<%=pkg.name%>.js'
- }
- },
- //copy插件的配置信息
- copy: {
- main: {
- files:[
- //js
- {
- expand: true,
- flatten: true,
- src: ['src/js/*.js'],
- dest: 'dist/js/',
- filter: 'isFile'
- },
- //less
- {
- expand: true,
- flatten: true,
- src: ['src/css/*.less'],
- dest: 'dist/css/',
- filter: 'isFile'
- },
- //css
- {
- expand: true,
- flatten: true,
- src: ['src/css/*.css'],
- dest: 'dist/css/',
- filter: 'isFile'
- }
- ]
- }
- },
- // watch插件的配置信息
- watch: {
- js: {
- files: [
- 'src/js/parts/*.js'
- ],
- tasks: [
- 'concat',
- 'jshint',
- 'uglify',
- 'copy'
- ],
- options: { spawn: false}
- },
- css:{
- files: [
- 'src/css/parts/*.less'
- ],
- tasks: [
- 'concat',
- 'less',
- 'cssmin',
- 'copy'
- ],
- options: { spawn: false}
- }
- }
- });
-
- // 告诉grunt我们将使用插件
- grunt.loadNpmTasks('grunt-contrib-uglify');
- grunt.loadNpmTasks('grunt-contrib-less');
- grunt.loadNpmTasks('grunt-contrib-concat');
- grunt.loadNpmTasks('grunt-contrib-jshint');
- grunt.loadNpmTasks('grunt-contrib-cssmin');
- grunt.loadNpmTasks('grunt-contrib-copy');
- grunt.loadNpmTasks('grunt-contrib-watch');
-
- // 告诉grunt当我们在终端中输入grunt时需要做些什么(注意先后顺序)
- grunt.registerTask('default', [
- //注意下面注册任务时的前后顺序
- 'concat',
- 'less',
- 'jshint',
- 'uglify',
- 'cssmin',
- 'copy',
- 'watch'
- ]);
-
- };
|