前言

近期用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. EBS 中经常用到的一些值集

    名称                                 值集                                                                ...

  2. 高程三:Array

    一:Array数组 1.Array.isArray(参数) 检测是否是数组,*不兼容IE8,兼容IE9及以上.Chrome.Firefox等,要兼容IE8,可以用 Object.prototype.t ...

  3. 本地数据Store。Cookie,Session,Cache的理解。Timer类主要用于定时性、周期性任务 的触发。刷新Store,Panel

    本地数据Store var monthStore = Ext.create('Ext.data.Store', { storeId : 'monthStore', autoLoad : false, ...

  4. JavaScript学习笔记(1))——————call,apply方法

    学习前端也有一段时间了,但是效果甚微.利用时间不够充分,虽然是利用工作之余来学习.但是这不能成为我的借口. 今天学习了(其实看了很多遍)call apply方法. function abc(a,b){ ...

  5. $q -- AngularJS中的服务(理解)

      描述 译者注: 看到了一篇非常好的文章,如果你有兴趣,可以查看: Promises与Javascript异步编程 , 里面对Promises规范和使用情景,好处讲的非常好透彻,个人觉得简单易懂. ...

  6. PXE+Kickstart+DHCP+TFTP实现无人值守安装操作系统

    PXE+Kickstart+DHCP+TFTP实现无人值守安装操作系统 PXE + Kickstart PXE的工作流程及配置文件 Kickstart的配置文件 Linux安装大致可以分为2个阶段 第 ...

  7. Python flask @app.route

    转载自 http://python.jobbole.com/80956/ 下面是Flask主页给我们的第一个例子,我们现在就由它入手,深入理解“@app.route()”是如何工作的.         ...

  8. 【java回调】java两个类之间的回调函数传递

    背景交代:熟悉用js开发的cordovaAPP:对java一窍不通的我,老师让做一个监测用户拍照事件的功能,无奈没有找到现成的库,无奈自己动手开发java插件~~0基础java GreenHand,祝 ...

  9. Oracle客户端工具出现“Cannot access NLS data files or invalid environment specified”错误的解决办法

    Oracle客户端工具出现"Cannot access NLS data files or invalid environment specified"错误的解决办法 方法一:参考 ...

  10. Linux+PHP+MySql网站迁移配置

    LINUX下MYSQL数据库默认数据库文件位置: 数据库文件默认在:cd /usr/share/mysql 配置文件默认在:/etc/my.cnf ———————————– 数据库目录:/var/li ...