Grunt入门学习(1) - 环境安装

  这周根据项目需要,在项目的基础上分模块开发了一个小的项目板块,但是在规范组织每个模块的代码和其依赖性时比较麻烦,需要一个项目板块的构建工具。各个模块都包括其对应的html页面模板、css样式表、Javascript文件,以及相关的依赖文件,图片等。

具体的目录结构如下图所示:

  往往在代码上传和项目发布之前需要将模块内各个文件比如JavaScript文件、CSS样式表,图片等进行压缩合并,目的主要在于减少加载文件的大小,加快文件加载速度,同时也能在一定程度上保护源代码,提高安全性。Grunt是一个基于node.JS的自动化构建工具。对于需要反复重复的任务,例如代码压缩(minification),合并、编译、文件拷贝、单元测试、linting等,自动化工具可以减轻你的劳动,简化你的工作。只要在 Gruntfile 文件正确配置好了任务,任务运行器就会自动帮你或你的小组完成大部分无聊的工作。

  下面开始学习Grunt来实现将VariableMessageSignManagement目录下的所有模块自动拷贝到compressedFiles目录,并且尽可能的压缩每个模块的资源文件。

  1.首先安装grunt-cli, grunt 以及所需的grunt插件

  要使用grunt,首先需要安装grunt-cli到全局环境中,在命令行窗口中执行如下命令:

  npm install -g grunt-cli  //这条命令执行完后,grunt 命令就被加入到你的系统路径中了,以后就可以在任何目录下执行与grunt相关的命令了。

   注意,安装grunt-cli并不等于安装了 Grunt!Grunt CLI的任务很简单:调用与Gruntfile在同一目录中 Grunt。这样有一个好处是,允许你在同一个系统上同时安装多个版本的 Grunt。这样就能让多个版本的 Grunt 同时安装在同一台机器上。

  然后进入项目根目录(此处我将VariableMessageSignManagement的父目录作为的根目录)。

  根目录具体如图:

    (1) 在根目录下新建两份文件:package.json 和 Gruntfile.js    //package.json文件名是固定的,必须是这个;Gruntfile.js文件名不固定,可以按个人爱好自己设定,但建议用此名,醒目!

      package.json 文件被用于列出项目依赖的grunt和Grunt插件版本,放置于devDependencies配置段内。Gruntfile.js 用来配置或定义任务(task)并加载Grunt插件的,一般是JS文件或者coffee文件。

    新建的package.json文件,里面内容是编辑器自行填写的,不用管;而Gruntfile.js文件内是空的,什么都没有!

    (2) 执行如下命令开始安装grunt 以及相关的grunt插件:

    npm install grunt –-save-dev  //这条命令是安装最新版的grunt到项目根目录,--save-dev 表示将其添加到package.json文件的devDependencies内。同时会在根目录新建node_modules目录,存放grunt等的功能文件。如下图所示:

    同样,grunt插件和其它node模块都可以按相同的方式安装,并自动添加到devDependencies内。在此我安装了几个常用的grunt插件

    npm install grunt-contrib-copy –-save-dev      //复制文件和文件夹    
    npm install grunt-contrib-htmlmin –-save-dev    //压缩HTML文件
    npm install grunt-contrib-uglify –-save-dev    //压缩JS文件
    npm install grunt-contrib-cssmin –-save-dev    //压缩CSS文件。
    npm install grunt-contrib-imagemin –-save-dev   //压缩PNG,JPEG和GIF等图像

装完这四个grunt插件后,devDependencies配置如左图所示!

  2.其次编写Gruntfile.js任务文件

    Gruntfile.js 或 Gruntfile.coffee 文件是有效的 JavaScript 或 CoffeeScript 文件。应当放在项目根目录中,和package.json文件在同一目录级,并和项目源码一起加入源码管理器。

Grunt入门学习之(1) -- 环境安装的更多相关文章

  1. openresty 学习笔记一:环境安装

    openresty 学习笔记一:环境安装 openresty 是一个基于 Nginx 与 Lua 的高性能 Web 平台,其内部集成了大量精良的 Lua 库.第三方模块以及大多数的依赖项.用于方便地搭 ...

  2. Redis入门学习(一)——安装配置

    最近马上要找实习了,听学长说他们公司里用了redis来解决缓存问题,在大三结束前来学习一下. 问:Redis是什么? 答:(官方)REmote DIctionary Server(Redis)是一个K ...

  3. Docker容器学习梳理 - 基础环境安装

    以下是centos系统安装docker的操作记录 1)第一种方法:采用系统自带的docker安装,但是这一般都不是最新版的docker安装epel源[root@docker-server ~]# wg ...

  4. grunt 入门学习

    前端工作流,Grunt上手指南 Posted@2013-04-20 7:15 a.m. CategoriesGrunt ,  javascript 我想先花点时间回忆一下作为一个前端需要做的工作(Lo ...

  5. NOSQL Mongo入门学习笔记 - MongoDB的安装(一)

    手上的工作不是很忙,所以来学习学习很久就像接触的MongoDb,无奈前段时间工作时间都比较多.记录在这里供以后参考 环境: Centos 7 64位 开始: 1. 在官网下载Mongo : wget  ...

  6. MongoDB入门学习(一)—— 安装和启动

    最近由于工作需要,开始学习MongoDB数据库了.第一篇博文就从这里开始吧,以此记录下学习中的点点滴滴,为自己加油呢! (一) MongoDB简介 网上搜搜了一下:(来源:http://www.run ...

  7. Linux学习第二步(Java环境安装)

    jdk版本:jdk-8u131-linux-x64.rpm 注:以下操作在root用户或具有root权限的用户下操作 一.将 dk-8u131-linux-x64.rpm拷贝到/home目录下 cp ...

  8. Python爬虫入门教程 1-100 CentOS环境安装

    简介 你好,当你打开这个文档的时候,我知道,你想要的是什么! Python爬虫,如何快速的学会Python爬虫,是你最期待的事情,可是这个事情应该没有想象中的那么容易,况且你的编程底子还不一定好,这套 ...

  9. web自动化测试python+selenium学习总结----python环境安装

    一.python下载地址:https://www.python.org/downloads/ 二.双击python的.exe文件安装: 后面直接点击“next” 步骤二:选择安装在D:\python3 ...

随机推荐

  1. Spark累加器

    spark累计器 因为task的执行是在多个Executor中执行,所以会出现计算总量的时候,每个Executor只会计算部分数据,不能全局计算. 累计器是可以实现在全局中进行累加计数. 注意: 累加 ...

  2. Codeforces Round #556 (Div. 2)-ABC(这次的题前三题真心水)

    A. Stock Arbitraging 直接上代码: #include<cstdio> #include<cstring> #include<iostream> ...

  3. 关于 unsigned long long 于 long long

    long long 最大只有19位 : unsigned long long  最大有20位 ,原因牺牲了符合位来换取更大的记录

  4. L: Long Long Ago---二分

    L: Long Long Ago 时间限制: 1 s      内存限制: 128 MB        题目描述 今天SHIELD捕获到一段从敌方基地发出的信息里面包含一串被经过某种算法加密过的的序列 ...

  5. 本地docker镜像上传到腾讯云镜像仓库。

    和上篇上传到Docker Hub类似,只是登录时切换成腾讯云镜像仓库地址(ccr.ccs.tencentyun.com/longdbtencentdocker/publongdb)即可. docker ...

  6. 服务器端控件同html控件的区别

    ●ASP.NET中共有几种类型的控件? 三种:1-asp.net控件(动态) 2-标准的html控件(静态) 3-标准的html控件加runat="server"属性(动态) 动态 ...

  7. 【Ubuntu】执行定时任务(cron)

    1.打开定时任务配置文件 crontab -e 2.编写定时任务时间 命令和脚本例如: /3 * * * * /soft/config/test.sh 前5个字段为时间,后面的一个为命令 前5个含义为 ...

  8. 思维导图让 Spring MVC 不再难懂

    spring mvc简介与运行原理 Spring的模型-视图-控制器(MVC)框架是围绕一个DispatcherServlet来设计的,这个Servlet会把请求分发给各个处理器,并支持可配置的处理器 ...

  9. C#调用SQLite报错:无法加载 DLL“SQLite.Interop.dll”: 找不到指定的模块

    C#调用SQLite数据库,有些情况下会报以下这个错误: 无法加载 DLL“SQLite.Interop.dll”: 找不到指定的模块 实际上程序目录中是存在SQLite.Interop.dll这个文 ...

  10. 和为S的两个数字★★

    题目描述 输入一个递增排序的数组和一个数字S,在数组中查找两个数,使得他们的和正好是S,如果有多对数字的和等于S,输出两个数的乘积最小的. 输出描述: 对应每个测试案例,输出两个数,小的先输出. 解题 ...