grunt构建前端自动化
一.grunt是基于nodejs的,所以首先我们需要安装node
二.全局安装grunt 可以参考 http://www.gruntjs.net/docs/getting-started/
进行安装.
1.全局安装
npm install -g grunt-cli
2.进入当前项目根据配置文件
package.json
进行本地安装,或者直接把以前项目所有用过的本地安装文件直接复制到当前项目使用

3.任务设置
打开gruntfile.js进行设置
module.exports = function (grunt) {
// 任务配置,所有插件的配置信息
grunt.initConfig({
pkg: grunt.file.readJSON('package.json'),
//1.先清空发布文件夹
clean: {
src: ["publish/"]
},
//2.复制到发布文件夹 不要破坏源文件
copy: {
main: {
files: [
{ src: 'assets/**', dest: 'publish/' },
// { src: 'assets/*.html', dest: 'publish/assets/' },
]
}
},
//3.进行合并
concat: {
js:{
dest: 'publish/tmp/concat/js/app.js',
src: ['publish/assets/js/*.js']
},
css:{
dest: 'publish/tmp/concat/css/app.css',
src: ['publish/assets/css/*.css']
}
},
//4.进行压缩
uglify: {
main: {
files: [
{
//dest: 'publish/js/app.min.js',
//src: 'publish/tmp/concat/js/app.js'
expand: true,
cwd: "assets/js",
ext: ".min.js",
src: '**/*.js',
dest: 'publish/js'
}
]
}
},
cssmin: {
main:{
files: [
{
//dest: 'publish/css/app.min.css',
//src: 'publish/tmp/concat/css/app.css'
expand: true,
cwd: "assets/css",
ext: ".min.css",
src: '**/*.css',
dest: 'publish/css'
}
]
}
},
//4.进行hash运算重命名文件
rev: {
options: {
algorithm: 'md5',
length: 8
},
files: {
src: ['publish/assets/js/*.js', 'publish/assets/css/*.css'],
}
},
//5.替换静态资源链接
useminPrepare: {
src: "publish/assets/*.html"
},
usemin: {
html: 'publish/assets/*.html',
}
});
// 告诉grunt我们将使用插件
grunt.loadNpmTasks('grunt-contrib-clean');
grunt.loadNpmTasks('grunt-contrib-copy');
grunt.loadNpmTasks('grunt-contrib-concat');
grunt.loadNpmTasks('grunt-contrib-uglify');
grunt.loadNpmTasks('grunt-contrib-cssmin');
grunt.loadNpmTasks('grunt-rev');
grunt.loadNpmTasks('grunt-usemin');
// 告诉grunt当我们在终端中输入grunt时需要做些什么
grunt.registerTask('default', ['clean', 'copy', 'uglify', 'concat', 'cssmin', 'rev', 'usemin']);
};
参考链接
http://www.hulufei.com/post/grunt-introduction
grunt构建前端自动化的更多相关文章
- grunt构建前端自动化的开发环境
废话不多说.直奔主题. 1.安装node. 别问为什么.如果你不知道,说了你还是不知道. 别问怎么安装,自己去百度. 2.安装grunt_CLI. 安装完node,并且安装成功了,后.下载grunt_ ...
- Gulp构建前端自动化工作流之:常用插件介绍及使用
在对Gulp有了一个初步的了解之后,我们开始构建一个较为完整的Gulp开发环境. 本文主要分为6个段落: 1. 构建项目目录结构(Directory Structure Build) 2. 插件介绍及 ...
- 使用grunt构建前端项目
1. grunt构建工具是基于nodejs上的,所以在使用之前一定要先安装好nodejs 2. 安装好nodejs后,node -v查看node版本 npm-v 查看npm版本信息 3. 在需要用到的 ...
- grunt搭建前端自动化实践
grunt是什么? grunt是一个前端构建工具, 每种应用开发, 都有一套构建工具, 例如linux c程序开发, 构建工具是make, java程序的构建工具为maven,web前端经过十多年的发 ...
- 使用Gulp构建前端自动化方案
前言 在刚入门前端的时候,我们并不清楚前端有工具可以帮我们自动化打包压缩文件,当时只关注能实现功能就可以了,也不太在意前端性能优化的问题,随着项目功能的复杂,项目也变得越来越大,页面的执行速度也开始变 ...
- Gulp构建前端自动化项目
类似于Grunt,gulp是另一个同样功能很强大的前端项目自动化利器. 下面是项目的效果:
- Grunt usemin前端自动化打包流程
前端优化是尽量减少http请求,所以我们需要尽量合并压缩文件,然后调用压缩后的文件,比如多个css文件压缩成一个,多个js文件合并压缩等,usemin能够自动在html中使用压缩后的文件,达到上面的目 ...
- Grunt打造前端自动化工作流
HTML去掉注析.换行符 - HtmlMin CSS文件压缩合并 – CssMinify JS代码风格检查 – JsHint JS代码压缩 – Uglyfy image压缩 - imagemin ht ...
- 浅谈构建前端自动化工作流程一 之 node
一.Node环境 1.什么是Node? Node.js类似于jquery.js,不是js文件,也不是一个js框架,而是Server side JavaScript runTime,服务端的一个JS运行 ...
随机推荐
- 在Unity3D 4中关联Visual Studio 2012来编写C#
Unity3D自带的MonoDevelop编辑器无论是js还是c#代码提示都很差,很诡异的就是变量名和方法名有的时候提示有的时候不提示.不过用Visual Studio代替MonoDevelop这个问 ...
- 今年暑假不AC[HDU2037]
今年暑假不AC Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Sub ...
- extjs tips
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"% ...
- BZOJ1766 : [Ceoi2009]photo
如果两个矩形相交且不是包含关系,那么完全可以让它们不相交. 将坐标离散化后,设$f[i][j][k]$表示区间$[i,j]$纵坐标不小于$k$的部分的最优解. 对于$f[i][j][k]$,要么枚举分 ...
- c/c++ 笔试面试题
#include <iostream> using namespace std; class A { public: void sayHi(){ cout<<"hel ...
- NOIP 2002过河卒 Label:dp
题目描述 如图,A 点有一个过河卒,需要走到目标 B 点.卒行走规则:可以向下.或者向右.同时在棋盘上的任一点有一个对方的马(如上图的C点),该马所在的点和所有跳跃一步可达的点称为对方马的控制点.例如 ...
- Resume简历中装B的词汇总结大全
1. Accelerated 35. Empowered 69. Motivated 2. Accomplished 36. Enabled 70. Negotiated 3. Achieved 37 ...
- cookie 换肤
jquery.Cookies.js /** * Cookie plugin * * Copyright (c) 2006 ziqiu.zhang * Dual licensed under the M ...
- 浅谈RAID写惩罚(Write Penalty)与IOPS计算
介绍 通常在讨论不同RAID保护类型的性能的时候,结论都会是RAID-1提供比较好的读写性能,RAID-5读性能不错,但是写入性能就不如RAID-1,RAID-6保护级别更高,但写性能相对更加差,RA ...
- 三层交换单臂路由vlan间通信综合实验之降龙要点--Lee
单臂路由三层交换机提供vlan间的通信之菜鸟之降龙详解要点: 图示 PC:左到右依次设置IP172.16.10.1, 20.1, 30.1, 40,1 ,50,1 /24 网关10.2 ...