grunt -- 项目构建工具
package.json
{ "name": "app", "version": "1.0.0", "devDependencies": { "grunt": "~0.4.5", "grunt-contrib-jshint": "~0.10.0", "grunt-contrib-concat": "~0.5.0", "grunt-contrib-cssmin": "~0.10.0", "grunt-contrib-uglify": "~0.6.0", "grunt-contrib-imagemin": "~0.9.2", "grunt-contrib-htmlmin": "~0.3.0" } }
Gruntfile.js
module.exports = function (grunt) { // grunt config grunt.initConfig({ pkg: grunt.file.readJSON(‘package.json‘), jshint: { files: [‘src/js/base.js‘, ‘src/js/script.js‘, ‘src/js/caculate.js‘] }, concat: { options: { banner: ‘/*! <%= pkg.name %> <%= grunt.template.today("yyyy-mm-dd") %> */\n‘, separator: ‘\n/*---------分割线---------*/\n‘ }, css: { files: [{ src: [‘src/css/base.css‘, ‘src/css/style.css‘, ‘src/svg/style.css‘], dest: ‘dist/css/<%= pkg.name %>.css‘ }] }, js: { files: [{ src: [‘src/js/base.js‘, ‘src/js/script.js‘, ‘src/j/caculate.js‘], dest: ‘dist/js/<%= pkg.name %>.js‘ }] } }, cssmin: { css: { files: [{ src: ‘dist/css/<%= pkg.name %>.css‘, dest: ‘dist/css/<%= pkg.name %>.min.css‘ }] } }, uglify: { js: { files: [{ src: ‘dist/js/<%= pkg.name %>.js‘, dest: ‘dist/js/<%= pkg.name %>.min.js‘ }] } }, htmlmin: { options: { removeComments:true, collapseWhitespace:true }, dist: { files: [{ expand: true, // all html cwd: ‘src/‘, src: [‘**/*.html‘], dest: ‘dist‘ }] } }, imagemin: { img: { files: [{ expand: true, // all images cwd: ‘src/‘, src: [‘**/*.{png,jpg,gif}‘], dest: ‘dist/‘ }] } } }); // load task grunt.loadNpmTasks(‘grunt-contrib-jshint‘); grunt.loadNpmTasks(‘grunt-contrib-concat‘); grunt.loadNpmTasks(‘grunt-contrib-cssmin‘); grunt.loadNpmTasks(‘grunt-contrib-uglify‘); grunt.loadNpmTasks(‘grunt-contrib-htmlmin‘); grunt.loadNpmTasks(‘grunt-contrib-imagemin‘); // regist task grunt.registerTask(‘default‘, [‘jshint‘, ‘concat‘, ‘cssmin‘, ‘uglify‘]); grunt.registerTask(‘html‘, [‘htmlmin‘]); grunt.registerTask(‘img‘, [‘imagemin‘]); };
时间: 2024-10-03 22:29:39