前言

近期用Grunt进行前端开发经常要用到的一些Grunt插件,用起来非常顺手。

一、package.json文件配置如下:

包括coffeescript编译为jscss加CSS3适配前缀css合并less样式编译为css,自动监视变化进行编译处理等等

{
"name": "myApp",
"version": "0.1.0",
"description": "myApp",
"main": "Gruntfile.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "Nelson",
"license": "MIT",
"devDependencies": {
"grunt": "~0.4.1",
"grunt-contrib-coffee": "0.7.x",
"grunt-autoprefixer": "^3.0.3",
"grunt-contrib-concat": "~0.4.0",
"grunt-contrib-less": "~0.11.0",
"grunt-contrib-watch": "~0.6.1",
"grunt-html-build": "~0.3.2"
}
}

二、Gruntfile.js文件配置如下:

module.exports = function (grunt) {
grunt.initConfig({
pkg: grunt.file.readJSON('package.json'),
concat: {
options: {
banner: '/*! myapp.ui.css@<%= pkg.name %> - v<%= pkg.version %> - ' +
'<%= grunt.template.today("yyyy-mm-dd") %> */'
},
mobileLess: {
src: ['src/less/*.less'],
dest: 'src/less/myapp.common_grunt.less',
}
},
less: {
development: {
options: {
compress: false,
yuicompress: false
},
files: {
"dist/css/myapp.ui.css": "src/less/myapp.ui.less",
"dist/css/myapp2.ui.css": "src/less/myapp2.ui.less",
"dist/css/myapp.common_grunt.css": "src/less/myapp.common_grunt.less"
}
},
production: {
options: {
compress: true,
yuicompress: true,
optimization: 2
},
files: {
"dist/css/myapp.ui.min.css": "src/less/myapp.ui.less",
"dist/css/myapp2.ui.min.css": "src/less/myapp2.ui.less",
"dist/css/myapp.common_grunt.min.css": "src/less/myapp.common_grunt.less"
}
}
},
autoprefixer: {
development: {
files: {
'dist/css/build/myapp.ui.css': 'dist/css/myapp.ui.css',
'dist/css/build/myapp2.ui.css': 'dist/css/myapp2.ui.css'
}
},
production: {
files: {
'dist/css/build/myapp.ui.min.css': 'dist/css/myapp.ui.min.css',
'dist/css/build/myapp2.ui.min.css': 'dist/css/myapp2.ui.min.css'
}
}
},
coffee: {
glob_to_multiple: {
expand: true,
flatten: true,
cwd: 'static',
src: ['src/coffee/*.coffee'],
dest: 'dist/js',
ext: '.js'
}
},
watch: {
options: {
livereload: true
},
grunt: {
files: ['Gruntfile.js']
}, styles: {
files: [
'src/less/*.less',
'src/less/**/*.less',
'src/less/***/**/*.less',
'dist/css/*.css'
],
tasks: [
'concat:mobileLess',
'less',
'autoprefixer'
],
options: {
nospawn: true
}
},
scripts: {
files: 'src/coffee/*.coffee',
tasks: ['coffee']
}
}
}); grunt.loadNpmTasks('grunt-contrib-concat');
grunt.loadNpmTasks('grunt-contrib-less');
grunt.loadNpmTasks('grunt-autoprefixer');
grunt.loadNpmTasks('grunt-contrib-coffee');
grunt.loadNpmTasks('grunt-contrib-watch'); grunt.registerTask('default', ['watch']);
};

 20151126增加CSS压缩

cssmin: {
options: {
keepSpecialComments: 0
},
compress: {
files: {
'css/pub/default.min.css': [
"css/layout.css",
"css/style.css",
"css/pub/double11.common.min.css"
]
}
}
},
    grunt.loadNpmTasks('grunt-contrib-cssmin');

 20160114增加js压缩

        uglify: {
//文件头部输出信息
production: {
options: {
mangle: true //混淆变量名
},
files: {
'dist/js/a.min.js': 'dist/js/a.js',
'dist/js/b.min.js': 'b.js'
}
}
},

watch添加

,
js: {
files: ['dist/js/*.js', 'dist/js/**/*.js'],
tasks: ['uglify']
}

加载任务

grunt.loadNpmTasks('grunt-contrib-uglify');

GruntJS常用前端流程自动化配置-【持续优化】的更多相关文章

  1. Gulp常用前端流程自动化配置

    前言 近期的项目全部由Grunt + LESS 转向改用Gulp + SASS 进行前端开发,也就奔着Gulp那比较好用的自定义函数而来的. 一.package.json文件配置如下: { " ...

  2. 亚信UED前端流程自动化构建工具

    亚信UED前端流程自动化构建工具 .wmd-input, .wmd-input:focus, #md-section-helper {font-size: 14px !important;line-h ...

  3. 漫谈:从APP崩溃率标准,到Monkey介绍拓展Maxim,及Jenkins自动化配置,持续集成获取崩溃monkey日志

    漫谈:从APP崩溃率标准,到Monkey介绍拓展Maxim,及Jenkins自动化配置,持续集成获取崩溃日志 1.APP崩溃率标准 开发或测试app的同学,对于app崩溃肯定非常熟悉,频繁的线上崩溃属 ...

  4. Rancher 构建 CI/CD 自动化流程 - 动态配置 Jenkins-slave(二)

    一.说明 1.1 说明 前面介绍采用 Jenkinsfile + KubernetesPod.yaml 方式进行部署项目(Rancher 构建 CI/CD 自动化流程 - 动态配置 Jenkins-s ...

  5. 前端开发自动化工作流工具,JavaScript自动化构建工具grunt、gulp、webpack介绍

    前端开发自动化工作流工具,JavaScript自动化构建工具grunt.gulp.webpack介绍 前端自动化,这样的一个名词听起来非常的有吸引力,向往力.当今时代,前端工程师需要维护的代码变得及为 ...

  6. BAT 前端开发面经 —— 吐血总结 前端相关片段整理——持续更新 前端基础精简总结 Web Storage You don't know js

    BAT 前端开发面经 —— 吐血总结   目录 1. Tencent 2. 阿里 3. 百度 更好阅读,请移步这里 聊之前 最近暑期实习招聘已经开始,个人目前参加了阿里的内推及腾讯和百度的实习生招聘, ...

  7. 前端项目自动化构建工具——Webpack入门教程

    参考资料:https://www.webpackjs.com/(中文文档)   https://www.webpackjs.com/(官方文档) 首先有必要说明一下,本文侧重讲解webpack基本配置 ...

  8. NoSQL 之 Redis配置与优化

    NoSQL 之 Redis配置与优化 1.关系数据库与非关系型数据库概述 2.关系数据库与非关系型数据库区别 3.非关系型数据库产生背景 4.Redis简介 5.Redis安装部署 6.Redis 命 ...

  9. nginx反向代理配置及优化

    nginx反向代理配置及优化前言: 由于服务器apache抗不住目前的并发.加上前端squid配置后,问题依然无法解决.而页面程序大部分是动态.无法使用fastcgi来处理.因此想使用nginx做为反 ...

随机推荐

  1. 使用Grunt构建自动化开发环境

    1.准备工作 1)首页确保电脑上网,以及能够访问https://registry.npmjs.org/,因需从此网站中下载安装相应的插件; 2)电脑安装Node.js,Grunt及Grunt插件都是基 ...

  2. MySQL 优化数据库对象

    一.考虑是用 procedure analyse() 函数对当前应用的表进行分析.字段类型是否可优化. 二.通过拆分提高表的访问效率. (A) 针对MyISAM表,有两种拆分方法: 垂直拆分:主码和某 ...

  3. test1.xlsx

    耿丹CS16-2班第三次作业汇总 排名 学号后三位 姓名 作业顺序 作业情况 第三周博客 总得分 博客园地址 1 232 周* 1 8.5 3 12.5 http://www.cnblogs.com/ ...

  4. spring 参数绑定

    部分资料来源: @RequestParam @RequestBody @PathVariable 等参数绑定注解详解 spring学习之@ModelAttribute运用详解 Spring MVC @ ...

  5. (原创)微信支付SDK调用的核心代码与分析(基于Android)

    先上代码,后面会分析 String url = "http://wxpay.weixin.qq.com/pub_v2/app/app_pay.php?plat=android"; ...

  6. Robot Framework用户手册 (版本:3.0)

    版权信息:诺基亚网络和解决中心 本翻译尊重原协议,仅用于个人学习使用 1.开始: 1.1 介绍: Robot Framework是一个基于Python的,为终端测试和验收驱动开发(ATDD)的可扩展的 ...

  7. Euler Tour Tree与dynamic connectivity

    Euler Tour Tree最大的优点就是可以方便的维护子树信息,这点LCT是做不到的.为什么要维护子树信息呢..?我们可以用来做fully dynamic connectivity(online) ...

  8. MySQL · 答疑解惑 · MySQL 锁问题最佳实践

    http://mysql.taobao.org/monthly/2016/03/10/ 前言 最近一段时间处理了较多锁的问题,包括锁等待导致业务连接堆积或超时,死锁导致业务失败等,这类问题对业务可能会 ...

  9. layui常用方法

    很好用的一个ui组件,弹出,分页等 http://layer.layui.com/ 1 带叉叉的弹窗 layer.open({ type: , title: false, //不显示标题 conten ...

  10. MySQL 专用备份软件参考

    1.MySQL Backup Tool   免费(需要安装 .NET 3.5)  https://sourceforge.net/projects/mysqlbutool/?source=typ_re ...