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

时间: 2024-11-10 06:49:04

grunt构建前端自动化的相关文章

grunt构建前端自动化的开发环境

废话不多说.直奔主题. 1.安装node. 别问为什么.如果你不知道,说了你还是不知道. 别问怎么安装,自己去百度. 2.安装grunt_CLI. 安装完node,并且安装成功了,后.下载grunt_Cli. 看到如上界面,说明安装成功了. 查看grunt版本. 3.在F盘新建grunt目录 目录里面新建如下文件,和文件夹. 内容如下: 4.安装grunt. 安装完成后看一下package.json的devDependencies多了一条配置. 验证grunt是否安装成功. 看到这条信息说明安装

Gulp构建前端自动化工作流之:常用插件介绍及使用

在对Gulp有了一个初步的了解之后,我们开始构建一个较为完整的Gulp开发环境. 本文主要分为6个段落: 1. 构建项目目录结构(Directory Structure Build) 2. 插件介绍及使用方法(Tasks and dependencies) 3. 扩展优化(Extend & Optimize Task) 4. 其他插件介绍(Other plug-ins) 5. 匹配规则(Match Files) 6. 注意事项(Attention) 关于Gulp的入门介绍及安装方法,可先去 <

Gulp构建前端自动化项目

类似于Grunt,gulp是另一个同样功能很强大的前端项目自动化利器. 下面是项目的效果: 另一个页面: 要求: Node.js gulp.js bower 下载项目代码于本地, 进入该目录,执行如下命令: 1 cd my-demo2 npm install 3 bower install 安装完成之后,运行如下命令: 1 gulp 现在项目已经跑起来了,所有在src目录下的文件都会编译生成相应的文件,并存入build文件夹下,同时,src目录下的文件发生变化时,会新生成相应的文件,并且已经启动

# 流行框架第一天:构建前端自动化工作流环境

## 兩個問題 ## 学习目标 - 了解什么是Node,什么是NPM:(Node.js) - 掌握Bower的使用: - 熟练使用Less/Sass: - 搭建一个自己的自动化工作流环境: + 自动编译 + 自动合并 + 自动刷新 + 自动部署 - GIT 与 GITHUB + master 托管源文件 + gh-pages 托管部署文件 + 在github搭建自己的blog ## 为什么要有自动化的流程 - 在我们的开发过程中有大量的重复操作 - DRY Don't repeat yourse

Node.js+Yeoman构建前端自动化Web应用

Yeoman的诞生,旨在为开发者提供一系列健壮的工具.程序库和工作流,帮助他们快速构建出漂亮.引人注目的Web应用.Yeoman包含了yo.grunt.bower三个部分,分别用于项目的启动.文件操作.包管理.官网做了详细的介绍:http://yeoman.io/ yo.grunt.bower的安装都必须通过Node.js才能安装,到Node.js官网https://nodejs.org/下载相应版本的安装包,本次测试环境为Windows7 64位,按提示默认安装即可.安装完成,在C盘创建了一个

Grunt usemin前端自动化打包流程

前端优化是尽量减少http请求,所以我们需要尽量合并压缩文件,然后调用压缩后的文件,比如多个css文件压缩成一个,多个js文件合并压缩等,usemin能够自动在html中使用压缩后的文件,达到上面的目的. 上图是完整打包后的文件目录,原始目录是assets,打包发布的文件是dist. gruntfile.js文件内容: module.exports = function(grunt) { grunt.config.init({ clean:{ src:"dist/" }, usemin

浅谈构建前端自动化工作流程一 之 node

一.Node环境 1.什么是Node? Node.js类似于jquery.js,不是js文件,也不是一个js框架,而是Server side JavaScript runTime,服务端的一个JS运行时:Node中只能运行ECMScript,无法使用BOM和DOM:目前我们的JS是运行在浏览器内核中的:说到底就是一个JS运行环境. 2.Node的历史 Node.js 0.12.7版本,也就是官方版本,但是另一个分支是IO.js,他是社区的产物,不是官方的东西,io.js有很多新特性,迭代速度非常

前端自动化grunt的使用

作为前端开发人员,有必要也有义务掌握前端自动化工具grunt: 这样可以极大地降低前端的复杂工作,提高工作效率,把所有的精力都投入到 编码中去. grunt API列表 config event fail file log option task template util 在使用grunt构建前端自动化中,我主要使用的config.file.template以及util这几个API. 现在贴一份gruntfilejs代码,基本上前端的自动化工作都可以完成: 'use strict' var A

前端自动化构建工具Grunt

一.了解Gurnt(http://www.open-open.com/lib/view/open1433898272036.html) Grunt 是一个基于任务的JavaScript工程命令行构建工具. Grunt和Grunt插件,是通过npm安装并管理的,npm是Node.js的包管理器. 了解Grunt前,首先要准备两件事: 1.了解npm(Node Package Manager):npm是一个NodeJS包管理和分发工具,已经成为了非官方的发布Node模块(包)的标准. 2.安装nod