这是我们部门前端同学cobish的学习笔记,笔者编辑了一下并分享给大家。 在使用 Grunt 之前,项目静态文件几乎没进行压缩合并便直接放到线上,部分文件手动复制粘贴到某压缩网站进行压缩。没压缩合并的
性能在Web应用程序中起着至关重要的作用,甚至谷歌也很在意其查询性能。不要因为一个几KB的文件只需要1毫秒的下载时间就不去重视,因为涉及性能时每个毫秒都需要去关注。最好能优化、压缩和缓存一切。
http://yujiangshui.com/grunt-basic-tutorial/
最近,在做项目优化,想将用到的jquery.js、bootstrap.js、angular.js、angular-ui-router.js、validator.js以及require.js做all in one(统一合并为一个文件),已减少http的请求数量。然而,在合并的过程中,报错:
grunt是什么 grunt是目前非常流行的前端构建工具,支持自定义插件,有丰富的插件帮助我们完成构建任务 自动化完成我们指定的任务,例如压缩、编译、单元测试、linting等 前端为什么需要构建工具 先看下前端的开发场景 小项目中,css文件和js文件并不多,前端部分是很轻的,几乎不需要我们特别的关注 而在一个大项目中,css文件和js文件的数量会达到几十个上百个,一个页面中会引用很多css和js文件,js的开发方式也已经模块化,不再像之前那样 经常把很多函数写在一个文件中,css的开发开始使用SAS
grunt与seajs grunt是前端流行的自定义任务的脚手架工具,我们可以使用grunt来为我们做一些重复度很高的事情,如压缩,合并,js语法检查等。通过定义grunt的配置文件Gruntfile.js,配置并注册grunt的任务,最终我们可以通过命令行来执行任务。 seajs主要用于模块化,通过define定义一个模块,可以通过require加载模块,exports导出模块。具体的seajs实现可通过本博客的系列博文--Seajs源码解析系列来进一步了解。
想一想如果没有这个工具,我们需要手动新建一个压缩代码后的文件夹,每次修改原始文件,都要手动压缩一下,再保存到压缩后的文件夹,想想都要疯掉。所以,grunt前端必不可少。
示例:将1.html文件中的var requestAddress = "";替换为var requestAddress = "http://blog.csdn.net/ligang2585116";
Yeoman 生成的 Angular 脚手架提供了 27 个任务配置和 3 个自定义任务。这三个自定义任务分贝为:
npm install -g grunt-cli //全局安装grunt npm init -y //初始化package.json npm install grunt --save-dev //在项目中安装grunt grunt --help //查看更多信息 grunt 安装完毕
Grunt 是一个基于任务的JavaScript工程命令行构建工具。 Grunt和Grunt插件,是通过npm安装并管理的,npm是Node.js的包管理器。 了解Grunt前,首先要准备两件事: 1、了解npm(Node Package Manager):npm是一个NodeJS包管理和分发工具,已经成为了非官方的发布Node模块(包)的标准。 2、安装node:进入nodejs官网(https://nodejs.org/),单击INSTALL下载node安装包,默认安装。安装完成后,进入对应目录,会发现nodejs文件夹下面有npm,直接用npm安装相环境既可。
在软件开发中使用自动化构建工具的好处是显而易见的。通过工具自动化运行大量单调乏味、重复性的任务,比如图像压缩、文件合并、代码压缩、单元测试等等,可以为开发者节约大量的时间,使我们能够专注于真正重要的、有意义的工作,比如设计业务逻辑,编写代码等等。 对很多前端开发人员而言,Grunt 无疑是这方面的首选。基本上,如果你会用 JavaScript ,那么在一个名为 Gruntfile.js (或者 Gruntfile)的文件中用 Javascript 语言定义自动化任务是非常简单的过程,同时大量的 第三方插件
grunt是基于nodejs的,所以需要一个 nodejs 环境,未了解的可以 来这看看
同步美术、策划资源是日常开发中极为频繁的事情,shawn借用Web前端的一些思想和工具,将Grunt自动化框架引入Cocos Creator项目,可以实现相对高效地将图片、动画、配置、音效等游戏资源导入到客户端工程中。
1、node环境安装 http://www.runoob.com/nodejs/nodejs-install-setup.html 2、grunt安装 package.json文件 http://blog.csdn.net/zmrdlb/article/details/53190696 { "name": "payment", "version": "0.0.1", "author": "zhangxu", "devDependencies": { "grunt": "^0.4.5"
Grunt和Gulp是Javascript世界里的用来做自动压缩、Typescript编译、代码质量lint工具、css预处理器的构建工具,它帮助开发者处理客户端开发中的一些烦操重复性的工作。Grunt和Gulp都在Visual studio 2015中得到支持。ASP.NET 项目模板默认使用Gulp。 Grunt和Gulp Grunt和Gulp有什么区别?Gulp虽然是稍微晚一点登场的,但是它因crisp performance和优雅的语法受到欢迎。与Grunt不同,Grunt往往在硬盘上是读写文件,G
网站开发正变得越来越专业,涉及到各种各样的工具和流程,迫切需要构建自动化。 所谓"构建自动化",就是指使用构建工具,自动实现"从源码到网页"的开发流程。这有利于提高开发效率、改善代码质量。 本文介绍如
这里建议先复习一下《再唠叨JS模块化加载之CommonJS、AMD、CMD、ES6》
最近,本来是想写一篇关于Promise的文章,在文章规划的时候,发现牵扯的东西有点多,需要再准备一下。
最近写了两个Grunt插件(grunt-htmlstamp 和 grunt-file-modify),已经用在自己的项目中,用得很开心。本文便是记录了Grunt插件开发的一些关键的点,作为笔记,比较简明扼要,更适合对Grunt有一些了解的同学,一些基础的知识请自行 Google 之。
小编说:历史上先后出现了一系列构建工具,它们各有优缺点。由于前端工程师很熟悉JavaScript,Node.js又可以胜任所有构建需求,所以大多数构建工具都是用Node.js开发的。本文就来一一介绍它们。 前端技术发展之快,各种可以提高开发效率的新思想和框架层出不穷。但是它们都有一个共同点:源代码无法直接运行,必须通过转换后才可以正常运行。 构建就是做这件事情,将源代码转换成可执行的JavaScript、CSS、HTML代码,包括如下内容。 代码转换:将TypeScript编译成JavaScript、将SC
最近写了两个Grunt插件(grunt-htmlstamp 和 grunt-file-modify),已经用在自己的项目中,用得很开心。本文便是记录了Grunt插件开发的一些关键的点,作为笔记,比较简
而且我也提到了目前使用前端模块化的一些方案:AMD、CMD、CommonJS、ES6。
web express web开发框架 ejs 页面模板。可以方便的把html改写成ejs。 eco 页面模板,类似ejs。与ejs的不同点是:逻辑部分用CoffeeScript而不是javascript jade 页面模板 源自ruby的haml 比ejs优雅简洁,但把html转换成jade要花一番功夫。 coffeecup 页面模板 风格有些像 jade,但里面的内容各种用coffee。 Mongoskin mongoDB驱动。是在mongodb-native的基础上做的封装。 mongoose mon
在很久之前,我接到任务,要帮忙协助前端做团队建设和流程优化(重点在于代码review上),当时出过一版方案来做静态资源的部署——js、css、imgs。但由于当时对前端的参与度不够,方案并不合适。于是废弃了。
bootstrap是目前最流行的前端开发框架,提供了丰富的前端组件,对于经验丰富的高手来说,其中的每项功能可能并不是太复杂,但由于他功能丰富,已经是一套系统,所以整体开发和组织的过程就不简单了 如果你来负责开发bootstrap,你会如何进行整体架构和流程的把控?有时间可以思考下,可以锻炼自己全局思维 通过bootstrap的源码,大概看下bootstrap的工程化开发方式 需求 (1)开发 主要使用css和js开发,js本身就是编程语言,开发环境也很成熟 css麻烦一点,用纯css编写的话效率不高,所以使
前端开发的工作往往需要把LESS/SASS编译成CSS文件,对多个JS、CSS文件进行合并与压缩处理,对JS、CSS进行语法的检查等,上面提到的这些都是一些重复性的操作,在开发过程中占据了大量的时间,降低了开发效率。对于大量重复性的操作是不是可以交给工具来处理,我们只需要告诉工具需要处理哪些操作。那么今天要给大家介绍的工具是Gulp。 本文内容概要: 1 什么是Gulp 2 Gulp VS Grunt 3 Gulp的安装与使用 4 命令行的简单介绍 1 什么是Gulp Gulp是一个前端自动化构建工具,在项
随着前端技术的发展,有越来越多的方法实现icon的制作,同时为了满足市面上各种大屏幕分辨率,字体图标icon font应运而生,字体图标的制作也是一种全新的设计方式,但是icon font 在wind
gulp是趋势 gulp完全开发指南 => 快来换掉你的Grunt吧 gulp的工作流程:文件流--文件流--文件流......因为grunt操作会创建临时文件,会有频繁的IO操作,而gulp使用的是
使用缘由 前端工程师需要维护的代码变得极为庞大和复杂,代码维护、打包、发布等流程也变得极为繁琐,同时浪费的时间和精力也越来越多,当然人为的错误也随着流程的增加而增加了更多的出错率 简介:grunt是一套前端自动化工具,一个基于nodeJs的命令行工具,一般用于:压缩文件,合并文件,简单语法检查 为什么要使用Grunt? Grunt生态系统非常庞大,并且一直在增长。由于拥有数量庞大的插件可供选择,因此,你可以利用Grunt自动完成任何事,并且花费最少的代价。如果找不到你所需要的插件,还可以自己动手创造一个
对网站资源进行优化,并使用不同浏览器测试并不是网站设计过程中最有意思的部分,但是这个过程中的很多重复的任务能够使用正确的工具自动完成,从而使效率大大提高,这是让很多开发者觉得有趣的地方。
In web development we deal with a lot of small technical artifacts. You use HTML to describe page structure, CSS how to style it and JavaScript for logic. Or you can replace HTML with something like Jade, CSS with Sass or LESS, JavaScript with CoffeeScript, TypeScript and the ilk. In addition you have to deal with project dependencies (ie. external libraries and such).
最近读了 Why I Left Gulp and Grunt for npm Scripts。读完后,觉的这文章写的相当不错,就决定尝试下。
一、运行环境 1. Node.js 2. Chrome 3. 其它浏览器 二、开发工具 1. WebStorm 1.1 功能特性 1.2 小技巧 1.3 实用快捷键 1.4 插件支持 2. Sublime Text 2.1 功能特性 2.2 小技巧 2.3 实用快捷键 2.4 插件支持 3. HBuilder 3.1 功能特性 3.2 小技巧 3.3 实用快捷键 3.4 插件支持 4. 开发工具小结 三、构建工具 1. Grunt 1.1 Grunt安装 1.2 Grunt配置文件 1.3 Gru
Yeoman是Google的团队和外部贡献者团队合作开发的,他的目标是通过Grunt(一个用于开发任务自动化的命令行工具)和Bower(一个HTML、CSS、Javascript和图片等前端资源的包管理器)的包装为开发者创建一个易用的工作流。
最近工作中用到了nuxt,才发现,如果webpack学的6,nuxt基本不需要学习,没什么学习成本的,因此,这篇重新记录下webpack4的一些基础知识点,下一篇将会配置一个优化到极致的react脚手架,也希望大家能够持续关注,配置webpack就是优化优化再优化,哈哈~
商业竞争时代的Web 开发,效率越来越成为其中决胜的关键因素之一。在前几年的时候,前端是一片荒芜的待开垦之地,开发者更多考虑开阔更多技术疆域;而最近几年,在前端技术这种更新迭代快到连裸奔都追不上的情况下,在强调高产的同时,效率必然是成为争夺的制高点。 引子 在苦苦构思了上面的开头后,从“效率”这个词Jeff 引出了今天话题——也就是标题说的前端项目自动化工作流。也许你还不全懂诸如“前端自动化”“工作流(workflow)”这些名词,不急且让我列举下面的场景: 在刚刚过去的时代(恩对于很多人来说是他们正在经历
webpack 学习小结 1 前言 打包,本质来说就是把许多零散的文件有序的合并成为一个文件,达到前端优化的效果 它的前世今生就不说了,感兴趣的同学可以去学习相关知识 构建 != 打包,反之亦然 打包可以说是构建的一环,构建可以做更多的事情 但是,打包永远都是构建的一个核心 1.1 相关工具 打包工具有很多,下面稍微介绍一下笔者认识的: 1.1.1 grunt 准确来说,grunt 是个构建工具 它只是提供了一些基础能力,出现的较早,社区强大 1.1.2 gulp gulp 和 grunt 很像,
伴随着互联网的飞速发展,web中对于前端的要求越来越高,前端的代码的代码量、复杂度与日俱增,带来了诸如前端代码复用率低,难维护等问题。针对这些现有问题,达观科技采用了requirejs框架,用模块化的思想去解决这些问题。(达观数据 施列宇) 一、什么是模块化 模块化是一种将复杂系统拆分成一个个小的可管理的模块的方式。它可以把系统拆分为职责更单一,更独立的模块,也就是我们软件设计中常常提到的高内聚低耦合的模块。一般来说,前端模块化包含javascript,css以及template三个部分。 二、为什么要将前
对于Bootstrap这个CSS框架,很多程序员持鄙视的态度,就如鄙视jQuery一般。诚然,就算不用这个框架,而是纯手写,或者借助JS框架的模板,一样可以写出一套页面,至于页面的精良程度、是否可二次开发、是否主流浏览器全兼容、是否可复用、可扩展、那就看开发者的个人能力了——如果一些人拿着公司的高额薪水或者甲方的高额酬金,却干着一锤子的买卖,代码不可复用,不可扩展,不可二次开发,浏览器不全兼容,他只是非常快速的胡七八凑了一套页面,应付到上线,然后潇洒的鄙视一下Bootstrap,我只能对这种人说俩字:呵呵。
最近工作中用到了nuxt,才发现,如果 webpack 学的 6,nuxt 基本不需要学习,没什么学习成本的。因此,这篇重新记录下 webpack4 的一些基础知识点,下一篇将会配置一个优化到极致的react脚手架, 也希望大家能够持续关注,配置 webpack 就是优化优化再优化,哈哈~
摘要:即使对于一些经验丰富的开发者来说,诸多的前端工具还是会让他们感到头痛,例如我。解决这个问题的最好办法,就是在概念上理解他们的工作方式,已经他们之间相互配合的方式。 不要被各种专业名词唬住 No
随着发展的逐步发展,作为工程师除了需要关注需要写的⻚面,样式和逻辑之外,还需要面对日益复杂 的系统性问题,比如模块化文件的组织、ES6 JS 文件的编译、打包压缩所有的 JS 代码、优化和合并图片静态资源等等事情。
可以说,fis 比较大,对整个打包过程有一个核心规范和流程,并且总结并提供了打包构建中的3个核心能力
Shawn前段时间一时心血来潮想尝试一下GitChat,话题是《Cocos Creator 集合类游戏模块化与热更新实践》。
在网页开发的早期,js制作作为一种脚本语言,做一些简单的表单验证或动画实现等,那个时候代码还是很少的。那个时候的代码是怎么写的呢?直接将代码写在<script>标签中即可。随着ajax异步请求的出现,慢慢形成了前后端的分离,客户端需要完成的事情越来越多,代码量也是与日俱增。为了应对代码量的剧增,我们通常会将代码组织在多个js文件中,进行维护。但是这种维护方式,依然不能避免一些灾难性的问题。比如全局变量同名问题,看下面的例子:
Grunt是基于JavaScript的命令行构建工具,它可以帮助开发者们自动化重复性的工作。你可以把它看成是JavaScript下的Make或者Ant。它可以完成诸如精简、编译、单元测试、lint检查等工作。
领取专属 10元无门槛券
手把手带您无忧上云