在选择构建工具时,看到更多人推荐gulp,从此入了gulp的坑~

一、安装node环境

百度谷歌一下就有了,在终端中分别输入 node -v 和 npm -v,若显示node和npm的版本号则说明node环境装好了。

二、安装gulp

linux下安装全局环境:

sudo npm install -g gulp

或cd进入项目目录下安装gulp到项目本地:

npm install gulp --save-dev

--save-dev的意思是将安装的gulp版本信息写入package.json,更新devDependencies值,以表明项目需要依赖gulp;在项目迁移时,执行npm install即可安装项目环境。

三、安装依赖文件

  • 检查javascript(gulp-jshint)
  • 编译sass/less文件(gulp-sass / gulp-less)
  • sass/less混入库(node-bourbon / lesshat)
  • 压缩css文件(gulp-minify-css)
  • 合并文件(gulp-concat)
  • 压缩js文件(gulp-uglify)
  • 重命名文件(gulp-rename)
  • ...

举个栗子:

npm install gulp-jshint gulp-sass gulp-concat node-bourbon --save-dev

四、新建gulpfile.js文件

gulp只有五个方法:task、run、watch、src、dest。gulpfile文件书写可以参照下面的栗子:

 // 引入 gulp
var gulp = require('gulp'); // 引入组件
var sass = require('gulp-sass');
var minifycss = require('gulp-minify-css');
var rename = require('gulp-rename');
var concat = require('gulp-concat');
var jshint = require('gulp-jshint');
var uglify = require('gulp-uglify'); // 编译Sass
gulp.task('sass', function () {
gulp.src('./css/*.scss')
.pipe(sass({
includePaths: require('node-bourbon').includePaths
}))
.pipe(concat('style.min.css'))
.pipe(minifycss())
.pipe(gulp.dest('./css'));
}); // 语法检查
gulp.task('jshint', function() {
return gulp.src('./js/*.js')
.pipe(jshint())
.pipe(jshint.reporter('default'));
}); // 合并文件之后压缩代码
gulp.task('minify', function(){
gulp.src('./js/*.js')
.pipe(concat('all.js'))
.pipe(gulp.dest('./js'))
.pipe(uglify())
.pipe(rename('all.min.js'))
.pipe(gulp.dest('./dist'))
}); // 默认任务
gulp.task('default', function () {
gulp.run('sass');
gulp.run('jshint');
gulp.run('minify');
gulp.watch('./css/*.scss', function () {
gulp.run('sass');
});
});

五、执行gulp

在终端执行下面的命令执行所有的任务

gulp

或者执行单个任务

gulp minify

OK,大功告成~

参考:

前端构建工具之gulp的安装和配置的更多相关文章

  1. 前端构建工具之gulp(一)「图片压缩」

    前端构建工具之gulp(一)「图片压缩」 已经很久没有写过博客了,现下终于事情少了,开始写博吧 今天网站要做一些优化:图片压缩,资源合并等 以前一直使用百度的FIS工具,但是FIS还没有提供图片压缩的 ...

  2. 前端构建工具:gulp的配置与使用

    安装gulp 因为gulp是基于node的管理工具,所以要先安装nodejs安装nodejsnodejs下载地址:中文站:http://nodejs.cn/ 英文站:https://nodejs.or ...

  3. 前端构建工具gulp使用

    前端自动化流程工具,用来合并文件,压缩等. Gulp官网 http://gulpjs.com/ Gulp中文网 http://www.gulpjs.com.cn/ Gulp中文文档 https://g ...

  4. 前端构建工具gulp介绍

    2016年3月3日 10:46:08     晴 前端构建工具gulpjs的使用介绍及技巧 gulpjs是一个前端构建工具,与gruntjs相比,gulpjs无需写一大堆繁杂的配置参数,API也非常简 ...

  5. Gulp.js----比Grunt更易用的前端构建工具

    Gulp.js----比Grunt更易用的前端构建工具 Grunt一直是前端构建工具,然而他也不是毫无缺陷的,gulp的作者 Eric Schoffstall 在他介绍 gulp.js 的 prese ...

  6. Gulp, 比Grunt更好用的前端构建工具

    Gulp, 比Grunt更好用的前端构建工具 本文主要从两个方面介绍Gulp:一,Gulp相对于Grunt的优势: 二,Gulp的安装和使用流程 Gulp相对于Grunt的优势 gulp.js 的作者 ...

  7. (转载)前端构建工具gulp使用

    前端构建工具gulp使用 前端自动化流程工具,用来合并文件,压缩等. Gulp官网 http://gulpjs.com/ Gulp中文网 http://www.gulpjs.com.cn/ Gulp中 ...

  8. (转)前端构建工具gulp入门教程

    前端构建工具gulp入门教程 老婆婆 1.8k 2013年12月30日 发布 推荐 10 推荐 收藏 83 收藏,20k 浏览 本文假设你之前没有用过任何任务脚本(task runner)和命令行工具 ...

  9. 前端构建工具gulp

    前端构建工具gulp使用   前端自动化流程工具,用来合并文件,压缩等. Gulp官网 http://gulpjs.com/ Gulp中文网 http://www.gulpjs.com.cn/ Gul ...

随机推荐

  1. Ubuntu问题:E45: 'readonly' option is set (add ! to override)错误解决

    问题描述:E45: 'readonly' option is set (add ! to override) 问题分析:该错误为当前用户没有权限对文件作修改 问题解决: 输入 :w !sudo tee ...

  2. MySQL Index Merge Optimization

    Index Merge用在通过一些range scans得到检索数据行和合并成一个整体.合并可以通过 unions,intersections,或者unions-intersection运用在底层的扫 ...

  3. Spring @Scheduled 在tomcat容器里面执行两次

    今天在用spring里面的@Scheduled执行定时任务,但是发现到触发定时任务的时间点总会执行两次.原因是修改了tomcat conf包下面的server.xml文件导致的.配置如下: <H ...

  4. 让我们一起爱(装)上Homestead吧

    本文是Laravel实战:任务管理系统(一)的扩展阅读原文链接 先来点残酷现实:  真正用过homestead的,一般不会问homestead到底好在哪里 如果你还没有爱上homestead,只能说明 ...

  5. GIT_linux服务器与本地环境构建

    linux安装git包 很多yum源上自动安装的git版本为1.7,这里手动编译重新安装1:安装依赖包yum install curl-devel expat-devel gettext-devel ...

  6. sass和compass实战 读书笔记(一)

    sass优势: 不做重复的工作 一  消除样式表冗余(通过变量赋值的方式) 1. 通过变量来复用属性值 2. 使用嵌套来快速写出多层级的选择器 3. 通过混合器来复用一段样式 4. 使用选择器继承来避 ...

  7. Servlet--转发和重定向

    Servlet的跳转有2种,一种是转发,一种是重定向. 重定向: <strong><span style="font-size:14px;"></sp ...

  8. linkin大话面向对象--初始化块

    java使用构造器来对单个对象进行初始化操作,使用构造器先完成整个java对象的状态初始化,然后将java对象返回给程序,从而让整个java对象的信息更加完整.与构造器作用非常类似的是初始化块,它也可 ...

  9. CURL处理POST、GET请求

    Curl是一个库,它允许你通过各种协议和各种不同的服务器进行连接和通讯 a.php <?php function curlRequest($url,$data=''){ $ch=curl_ini ...

  10. ADB Shell之手机性能测试

    Connect 夜神模拟器for Android 4.4.2 打开模拟器-在CMD输入如下连接测试设备 adb connect 127.0.0.1:62001 你也可以连接自己的手机设备 开发者选项- ...