前言

近期用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. [Evolutionary Algorithm] 进化算法简介

    进化算法,也被成为是演化算法(evolutionary algorithms,简称EAs),它不是一个具体的算法,而是一个“算法簇”.进化算法的产生的灵感借鉴了大自然中生物的进化操作,它一般包括基因编 ...

  2. Jquery制作--循环滚动列表

    自己模仿JQ插件的写法写了一个循环滚动列表插件,支持自定义上.下.左.右四个方向,支持平滑滚动或者间断滚动两种方式,都是通过参数设置.JQ里面有些重复的地方,暂时没想到更好的方法去精简.不过效果还是可 ...

  3. 怎么把Maven项目转为动态Web项目?

  4. No.23

    腓利比书3:19:"他们的结局就是沉沦,他们的神就是自己的肚腹,他们以自己的羞辱为荣耀,专以地上的事为念". 谨记!

  5. selenium 常见面试题以及答案(Java版)

    1.怎么 判断元素是否存在? 判断元素是否存在和是否出现不同, 判断是否存在意味着如果这个元素压根就不存在, 就会抛出NoSuchElementException 这样就可以使用try catch,如 ...

  6. Java获取用户ip

    /** * 获取客户端ip地址(可以穿透代理) * * @param request * @return */ public static String getRemoteAddr(HttpServl ...

  7. LeetCode 36 Valid Sudoku

    Problem: Determine if a Sudoku is valid, according to: Sudoku Puzzles - The Rules. The Sudoku board ...

  8. POJ 2352 Stars 线段树

    题目链接 题意:在一个二维平面上有n个星星,每个星星的等级为x,x为该星星左方和下方所包含的星星的数量(包含正左和正下的),输出每个等级各有多少星星,星星坐标按照y序递增给出,y值相同按照x递增给出. ...

  9. wget 扒站

    在Linux下,通过一个命令就可以把整个站相关的文件全部下载下来. wget -r -p -k -np [网址] 参数说明: -r : 递归下载 -p : 下载所有用于显示 HTML 页面的图片之类的 ...

  10. 破解myEclipse

    建立一个java项目,将reg.java放入,并且运行在控制台 输入账户 回车就会出现 序列号 菜单栏--->myeclipse-->substription information--- ...