前端资源构建-Grunt

随着前端开发的复杂度越来越高,前端页面动辄上几十个js,十几个html页面。用户打开一个页面需要加载一堆的css,js,html文件,对于有大量用户的web应用来说,既消耗服务带宽,用户加载速度也很受影响。特别是现在大量的移动端web应用涌现出来,页面加载速度至关重要,所以对前端资源做压缩是必须做的工作。grunt就是nodejs平台上一个非常优秀的前端构建工具。他可以拼接、丑化、压缩前端资源,大大提升页面访问速度

下面简要介绍grunt构建环境在windows平台的搭建过程。

1. install nodejs

nodejs for windows download address

2. install npm

open nodejs cmd window

npm install -g grunt-cli

 

3. 创建grunt依赖文件

package.json

{"name": "www","version": "1.0.0","description": "","main": "index.js","scripts": {"test": "echo \"Error: no test specified\" && exit 1"},"author": "geekchow","license": "ISC","devDependencies": {"grunt": "^0.4.5","grunt-contrib-clean": "^0.6.0","grunt-contrib-concat": "~0.3.0","grunt-contrib-copy": "^0.8.1","grunt-contrib-cssmin": "^0.14.0","grunt-contrib-jshint": "^0.11.2","grunt-contrib-requirejs": "^0.4.4","grunt-contrib-uglify": "^0.9.2","grunt-css": "latest","grunt-filerev": "latest","grunt-strip": "^0.2.1","grunt-usemin": "latest"}
}

  

此json文件中记录了grunt构建过程中需要使用的包,放置在网站根目录

4. 安装构建依赖包

命令行去到网站目录,运行如下命令,安装所有的依赖包。

npm install

安装完后发现网站目录下多了一个叫 node_modules的目录,里面放着package.json中所引用的js包。

5. 创建构建文件Gruntfile.js

前端工程构建一把包括以下几个操作。

  1. concat:合并js文件,减少js文件数量。
  2. uglify:js、html文件去空白,js做变量混淆。
  3. clean: 清除构建过程中产生的中间文件。
  4. copy:拷贝文件,一般发布目录和开发目录是分开的,copy操作可以将文件从开发目录
  5. usemin:在js做完合并后,自动使用合并且混淆过的js替换原有引用。
  6. cssmin:样式文件去空白。

示例Gruntfile.js文件:

6.构建代码

在nodejs命令窗口下运行如下代码,执行构建任务

grunt task-name

  

GRUNTJS压缩前端构建

转载于:https://www.cnblogs.com/philzhou/p/4959827.html

前端资源构建-Grunt环境搭建相关推荐

  1. Gitlab+Jenkins+Artifactory, CI/CD自动构建发布环境搭建使用实践

    CI/CD自动构建发布环境搭建使用实践 通过C/C++的cmake工程示例项目,构建Gitlab+Jenkins+Artifactory自动构建发布环境.其中 Gitlab提供源码仓库功能,通过web ...

  2. 浅谈前端自动化构建 -- Grunt、Gulp、FIS

    前言 笔记来源:拉勾教育 大前端高薪训练营 阅读建议:内容较多,建议通过左侧导航栏进行阅读 前端自动化构建 基本介绍 一切重复工作本应自动化.将开发中的源代码,自动化的转换成生产环境中可以运行的程序, ...

  3. 从零开始学WEB前端——前置知识以及环境搭建

    ??项目介绍 先做个自我介绍,本人是一个没人写前端所以就自学前端的后端程序员??.在此项目中我会和大家一起从零基础开始学习前端,从后端程序员的视角来看前端,受限于作者的水平本项目暂时只会更新到前端框架 ...

  4. grafana的前端技术_Grafana开发环境搭建

    本次介绍一下Mac/Windows环境源码编译步骤. 依赖 安装Go 1.11.5(根据不同系统环境选择需要下载的包) 安装sqlite3 (Mac自带,Windows需要自己下载) GO 环境搭建 ...

  5. STM32F4 | 最小系统设计 | 开发板资源介绍 | 开发环境搭建 | 程序下载

    文章目录 一.STM32最小系统设计 1.什么叫MCU最小系统? 2.STM32最小系统 2.1 供电电路(电源部分) 2.2 复位电路 2.3 时钟电路 2.4 BOOT启动模式选择 2.5 下载电 ...

  6. Jenkins+Jmeter+Gitlab+Ant接口自动化持续集成构建(环境搭建配置)

    第一步:环境搭建: 准备工作: Java及jdk配置.jmeter安装配置.Jenkins搭建完成.安装Ant 一.JDK配置 JDK配置请百度自行配置 二.Jmeter安装配置 1.把 apache ...

  7. 数字IC前端设计入门----之环境搭建

    数字IC前端设计入门----环境搭建 今天开始学习IC设计,需要的都学可以一起来哦.作者小白一个,欢迎多多交流. 在某宝上花了79元买套学习资料,但是基本都是视频,应该是翻版的资料.我这里拿出来无偿给 ...

  8. 前端项目线上环境搭建(Nginx)和线上部署(推荐)

    本次主要讲解的是服务器上node环境的搭建,以及vue/react/等的项目的部署,作为一名前端,一定要学会哦. 购买云服务器/主机 云服务器:阿里云.百度云.新浪云.腾讯云 主机:不建议购买,共享的 ...

  9. vs java调试_基于VSCode的Java编程语言的构建调试环境搭建指南(作业三)

    1.Java编译环境的搭建(CodeRunner) CodeRunner的强大之处在于它支持许多语言,只要选好语言,就直接可以写代码,即开即用的模式.时至今日,Code Runner已经有了超过400 ...

最新文章

  1. <java并发编程实践>读书笔记三
  2. 如何把握创业时机:当前的痛点也许是巨大的风险
  3. vue ui框架_你为什么要使用前端框架Vue?
  4. 信息系统项目管理师-信息系统项目管理基础考点笔记
  5. Invalid host: lb://xxx_xxx
  6. usb声卡驱动_来自MOTU的温馨提示:如果你的声卡在Windows系统下不稳定,你可以这样做!...
  7. SpringMvc 注解 @InitBinder 表单多对象精准绑定接收
  8. linux的基础知识——signal信号捕捉,信号集操作函数
  9. 经典面试题(26):以下代码将输出的结果是什么?
  10. Tipard Video Converter Ultimate如何旋转视频?
  11. Windows Print Spooler 远程代码执行漏洞(CVE-2021-1675)
  12. 转载:如何开发高性能低成本的网站之技术选择
  13. 02. 实现Singleton模式(C++版本)
  14. win7系统升级ie11,在KB2729094更新失败时的解决方法
  15. Flume+Kafka+Storm+Redis流计算实现wordcount示例
  16. 种业创新深圳品种 国稻种芯·中国水稻节:广东海水稻获成果
  17. 二叉树的深度和广度优先
  18. Android之vold进程启动源码分析
  19. 程序安装报错0x80070660的解决
  20. 信息系统分析与设计-----流程建模

热门文章

  1. 网络营销外包专员浅析企业网络营销外包整合关键点有哪些?
  2. 想要提升网站曝光率应避免哪些错误设置的出现?
  3. 网站优化中需要关注哪些对网站排名有关的内容呢?
  4. java sessionstate_在Java Web开发中自定义Session
  5. 实现账号在一端登入_跟我学spring security 基于数据库实现一个基本的登入登出...
  6. linux运维脚本编写,Linux运维常用shell脚本实例 (转)
  7. 计算机专业的个人实习报告范文,大学计算机专业的个人实习报告范文
  8. java逐行读取文件数组_快速高效地在Java中逐行读取大型JSON文件的方法
  9. rbac权限管理 php,thinkPHP3.2使用RBAC实现权限管理的实现
  10. mongodb 开启身份认证_Yum安装mongodb及开启用户认证远程登录