Open soonfy opened 6 years ago
/** * * gruntfile配置模板 * written by soonfy * * grunt-contrib-uglify压缩js文件 * grunt-contrib-cssmin压缩css文件 * grunt-nodemon重启程序 * grunt-contrib-watch重启任务 * grunt-concurrent并发控制 * */ module.exports = function (grunt) { // 初始化插件 grunt.initConfig({ //读取package.json pkg: grunt.file.readJSON('package.json'), //初始化压缩js文件插件 uglify: { options: { banner: '/*! <%= pkg.name %> <%= grunt.template.today("yyyy-mm-dd") %> */\n' //添加头标 }, //声明任务 build: { options: { mangle: false, //不混淆变量名 // preserveComments: 'all', //不删除注释 report: 'min', //输出压缩率 footer: '\n/*! <%= pkg.name %> 最后修改于: <%= grunt.template.today("yyyy-mm-dd") %> */' //尾标 }, files: [{ expand: true, //expand设置为true,启动下列参数 cwd: 'controllers', //所有src指定的匹配都是相对此路径 src: ['*.js', '../public/javascripts/*.js'], //源文件匹配格式 dest: 'zip_files/js', //目标文件存放路径 ext: '.min.js' }] } }, //初始化压缩css文件插件 cssmin: { options: { banner: '/*! <%= pkg.name %> <%= grunt.template.today("yyyy-mm-dd") %> */\n' //添加头标 }, build: { files: [{ expand: true, cwd: 'public/stylesheets', src: '*.css', dest: 'zip_files/cs', ext: '.min.css' }] } }, //初始化重启程序插件 nodemon: { dev: { script: 'bin/www', //重启程序文件 options: { args: [], //传递到script的参数 nodeArgs: ['--debug'], //打开debug服务器 ignore: ['README.md', 'node_modules/**','zip_files/**'], //忽略文件 ext: 'js', //监测文件类型 watch: ['./'], delay: 1000, //延迟重启 env: { //重启的环境设置 PORT: '3000' }, cwd: __dirname //当前活动路径 } } }, //初始化重启任务插件 watch: { //监测js文件 script: { options: { livereload: true }, files: 'controllers/*.js', tasks: ['uglify'] }, //监测css文件 css: { options: { livereload: true }, files: 'public/stylesheets/*.css', tasks: ['cssmin'] }, //检测html文件 html: { options: { livereload: true }, files: 'views/*.jade', tasks: [] } }, //初始化并发任务插件 concurrent: { //声明任务 target: { tasks: ['nodemon', 'watch'], //并发任务 options: { logConcurrentOutput: true //并发输出日志 } } } }); //加载插件 grunt.loadNpmTasks('grunt-contrib-uglify'); grunt.loadNpmTasks('grunt-contrib-cssmin'); grunt.loadNpmTasks('grunt-nodemon'); grunt.loadNpmTasks('grunt-contrib-watch'); grunt.loadNpmTasks('grunt-concurrent'); //注册任务 grunt.registerTask('default', ['uglify:build', 'cssmin:build', 'concurrent:target']); };
soonfy
配置文件
soonfy