// Project configuration. module.exports = function(grunt) { // 使用严格模式 ‘use strict‘; // 这里定义我们需要的任务 grunt.initConfig({ pkg: grunt.file.readJSON(‘package.json‘), //其他任务 concat: { options: { separator: ‘;‘, stripBanners: true }, dist: { src: [ "js/EvenUtil.js", "js/smeite.js", "js/index.js" ], dest: "assets/js/default.js" } }, uglify: { options: { }, dist: { files: { ‘assets/js/default.min.js‘: ‘assets/js/default.js‘ } } }, cssmin: { options: { keepSpecialComments: 0 }, compress: { files: { ‘assets/css/default.css‘: [ "dist/css/test.css", "dist/css/common.css", "dist/css/public.css", "dist/css/index.css" ] } } }, // 设置任务,删除文件夹 clean: { dist: ‘dist‘ }, // 通过sass编译成css文件 sass: { dist: { files: [{ expand: true, cwd: ‘scss‘, src: [‘*.scss‘], dest: ‘dist/css‘, ext: ‘.css‘ }] } }, // 检测改变,自动跑sass任务 watch: { scripts: { files: [‘scss/*.scss‘,‘js/*.js‘], tasks: [‘sass‘,‘uglify‘,‘cssmin‘], options: { spawn: false } } } }); grunt.loadNpmTasks(‘grunt-contrib-concat‘); grunt.loadNpmTasks(‘grunt-contrib-uglify‘); grunt.loadNpmTasks(‘grunt-contrib-cssmin‘); // 一定要引用着3个模块 grunt.loadNpmTasks(‘grunt-contrib-clean‘); grunt.loadNpmTasks(‘grunt-contrib-sass‘); grunt.loadNpmTasks(‘grunt-contrib-watch‘); // 把需要跑的任务注册到default这里每次运行grunt的时候先删除dist,然后重新编译,最后监测文件夹的情况。 grunt.registerTask(‘default‘, [‘clean:dist‘, ‘sass:dist‘, ‘watch‘, ‘concat‘, ‘uglify‘, ‘cssmin‘]); };
文档说明:样式编辑:scss dist为sass生成,assets为最终压缩成
js编辑:js,assets为最终压缩成
grunt--自常用配置文件--js/样式压缩打包,sass工具整合使用
原文:http://www.cnblogs.com/lanyueff/p/6290516.html