grunt构建一个项目
准备工作:grunt基于node环境运行,所有先安装node.js
1.安装grunt,通过node的npm的包管理工具
>npm install grunt --save-dev
2.npm init在项目中引导创建一个package.json文件
>npm init
3.新建一个Gruntfile的js文件,主要是写入grunt的配置
module.exprots = function(grunt){
grunt.initConfig({此处写配置的信息})
}
4.几个常用的插件
(1)less监听
>npm install grunt-contrib-less --save-dev
a.配置信息:
less:{development: {files: {'public/css/home/home.css': 'public/css/home/home.less'}}}
b.注册信息:
grunt.loadNpmTasks('grunt-contrib-less')
c.运行:
>grunt less
(2)watch监听
>npm install grunt-contrib-watch --save-dev
a.配置信息:
watch:{css: {files: [ 'public/css/home/home.less'],tasks:['less'],options:{livereload:true}}}
b.注册信息:
grunt.loadNpmTasks('grunt-contrib-watch')
c.运行:
>grunt watch
(3)浏览器同步测试工具
>npm install browser-sync --save-dev
a.配置信息:
不需要配置信息
b.注册信息:
不需要注册信息
c.运行:
>browser-sync start --server --file "*.html"
(4)css压缩
>npm install grunt-contrib-cssmin --save-dev
a.配置信息:
cssmin: {
     target: {
         files: [{
             expand: true,
             cwd: 'public/css/home', //需要压缩的css路径
             src: ['*.css', '!*.min.css'], //需要压缩的css
             dest: 'build/css/home', //压缩之后的路径
             ext: '.min.css' //压缩之后的css后缀名
         }]
     }
}
b.注册信息:
grunt.loadNpmTasks('grunt-contrib-cssmin')
c.运行:
>grunt cssmin
(5)js合并压缩
>npm install grunt-contrib-uglify --save-dev
a.配置信息:
uglify: {
      my_target: {
          files: {
              'build/js/home/home.min.js': ['public/js/home/home1.js', 'public/js/home/home2.js']
          }
     }
}
b.注册信息:
grunt.loadNpmTasks('grunt-contrib-uglify')
c.运行:
>grunt uglify
(6)合并css和js
>npm install grunt-contrib-concat --save-dev
a.配置信息:
concat:{
      js:{
          files:{
              'build/js/home/concat.js':['public/js/home/*.js']
          }
      },
      css:{
          files:{
              'build/css/home/concat.css':['public/css/home/*.css']
          }
      }
  }
b.注册信息:
grunt.loadNpmTasks('grunt-contrib-concat')
c.运行:
>grunt concat
(7)css精灵
>npm install grunt-spritesmith --save-dev
a.配置信息:
sprite:{
      all:{
          src:["public/img/*.png","public/img/*.jpg"], //需要整理的图片
          dest:"build/img/spriteRes.png", //生成一张图片的名称
          destCss:"build/css/spriteRes.css" //生成css的路径和文件名
      }
}
b.注册信息:
grunt.loadNpmTasks('grunt-spritesmith')
c.运行:
>grunt sprite
(8)图片压缩
>npm install grunt-contrib-imagemin --save-dev
a.配置信息:
imagemin:{
      release:{
          files:[{
              expand:true,
              src:['build/img/spriteRes.png']
          }],
          options:{
              optimizationLevel:3
          }
      }
}
b.注册信息:
grunt.loadNpmTasks('grunt-contrib-imagemin')
c.运行:
>grunt imagemin
(9)注册多任务执行
grunt构建一个项目的更多相关文章
- 使用 gulp 构建一个项目
		
本章将介绍 gulp-watch-path stream-combiner2 gulp-sourcemaps gulp-autoprefixer 您还可以直接学习以下模块: 安装 Node 和 gul ...
 - 基于Grunt构建一个的项目
		
没有搭建环境的,请参考<Grunt自动化构建环境搭建 >,搭建完成后 新建一个项目目录,这里建立一个“Demo”目录 运行CMD,并进入这个目录,运行 npm install grunt ...
 - 使用grunt构建前端项目
		
1. grunt构建工具是基于nodejs上的,所以在使用之前一定要先安装好nodejs 2. 安装好nodejs后,node -v查看node版本 npm-v 查看npm版本信息 3. 在需要用到的 ...
 - Vue+webpack构建一个项目
		
1.安装CLI命令的工具 推荐用淘宝的镜像 npm install -g @vue/cli @vue/cli-init 2.使用命令构建一个名为myapp的项目 vue init webpack m ...
 - 2016-7-15(1)使用gulp构建一个项目
		
gulp是前端开发过程中自动构建项目的工具,相同作用的还有grunt.构建工具依 靠插件能够自动监测文件变化以及完成js/sass/less/html/image/css/coffee等文件的语法检查 ...
 - 使用gulp构建一个项目
		
gulp是前端开发过程中自动构建项目的工具,相同作用的还有grunt.构建工具依靠插件能够自动监测文件变化以及完成js/sass/less/html/image/css/coffee等文件的语法检查. ...
 - 基于Grunt构建一个JavaScript库
		
现在公认的JavaScript典型项目需要运行单元测试,合并压缩.有些还会使用代码生成器,代码样式检查或其他构建工具. Grunt.js是一个开源工具,可以帮助你完成上面的所有步骤.它非常容易扩展,并 ...
 - 使用grunt构建seajs项目
		
1.安装nodejs 2.安装grunt-cli npm install -g grunt-cli 3.进入到项目目录,同时准备好package.json和Gruntfile.js文件 //packa ...
 - Django 构建一个项目
		
一.创建django程序 终端命令:django-admin startproject fahaicmd IDE创建Django程序时,本质上都是自动执行上述命令 其他常用命令: python man ...
 
随机推荐
- KoaHub.js -- 基于 Koa.js 平台的 Node.js web 快速开发框架之koahub-skip
			
koahub-skip koahub skip middleware koahub skip Conditionally skip a middleware when a condition is m ...
 - 3212: Pku3468 A Simple Problem with Integers
			
3212: Pku3468 A Simple Problem with Integers Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 1053 So ...
 - solr home 目录设置
			
对于在tomcat 中部署solr 来说,有以下三处可以配置 solr.solr.home(即solr的数据文件位置): 1. 在解压缩solr.war后的webapps/solr 中的WEB-INF ...
 - 本地存储和cookies之间的区别
 - 关于EasyUI 1.5版Datagrid组件在空数据时无法显示"空记录"提示的BUG解决方法
			
问题:jQuery easyUI中Datagrid,在表格数据加载无数据的时候,如何显示"无记录"的提示语? 解决jQuery EasyUI 1.5.1版本的Datagrid,在处 ...
 - 谈谈一些有趣的CSS题目(十三)-- 巧妙地制作背景色渐变动画!
			
开本系列,谈谈一些有趣的 CSS 题目,题目类型天马行空,想到什么说什么,不仅为了拓宽一下解决问题的思路,更涉及一些容易忽视的 CSS 细节. 解题不考虑兼容性,题目天马行空,想到什么说什么,如果解题 ...
 - 解决Highcharts 5.0.7,IE8下bar类型图表无法显示的问题
			
引用如上, 当图标类型为bar时,IE8无法直接显示, 官网也一样, 但通过切换图例可以显示, 所以加入以下代码解决此问题 未经允许,严禁转载!!!
 - shell 并发多进程同时执行
			
#!/bin/bash SEND_THREAD_NUM= #设置进程数. tmp_fifofile="/tmp/$$.fifo" # 脚本运行的当前进程ID号作为文件名 mkfif ...
 - jenkins+docker+maven+svn
			
环境介绍 1. 软件需求 Jenkins 本次实验所用版本1.5.1 下载链接:https://jenkins.io/index.html Docker 本次实验所用版本 17.03. ...
 - 【转】AS3操作XML,增加、删除、修改
			
var i:Number=0;//用于下面循环 var webcontent:String="Sontin's Blog <b>Welcome to 终吾一生</b> ...