前端构建工具之gulp的安装和配置
在选择构建工具时,看到更多人推荐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的安装和配置的更多相关文章
- 前端构建工具之gulp(一)「图片压缩」
前端构建工具之gulp(一)「图片压缩」 已经很久没有写过博客了,现下终于事情少了,开始写博吧 今天网站要做一些优化:图片压缩,资源合并等 以前一直使用百度的FIS工具,但是FIS还没有提供图片压缩的 ...
- 前端构建工具:gulp的配置与使用
安装gulp 因为gulp是基于node的管理工具,所以要先安装nodejs安装nodejsnodejs下载地址:中文站:http://nodejs.cn/ 英文站:https://nodejs.or ...
- 前端构建工具gulp使用
前端自动化流程工具,用来合并文件,压缩等. Gulp官网 http://gulpjs.com/ Gulp中文网 http://www.gulpjs.com.cn/ Gulp中文文档 https://g ...
- 前端构建工具gulp介绍
2016年3月3日 10:46:08 晴 前端构建工具gulpjs的使用介绍及技巧 gulpjs是一个前端构建工具,与gruntjs相比,gulpjs无需写一大堆繁杂的配置参数,API也非常简 ...
- Gulp.js----比Grunt更易用的前端构建工具
Gulp.js----比Grunt更易用的前端构建工具 Grunt一直是前端构建工具,然而他也不是毫无缺陷的,gulp的作者 Eric Schoffstall 在他介绍 gulp.js 的 prese ...
- Gulp, 比Grunt更好用的前端构建工具
Gulp, 比Grunt更好用的前端构建工具 本文主要从两个方面介绍Gulp:一,Gulp相对于Grunt的优势: 二,Gulp的安装和使用流程 Gulp相对于Grunt的优势 gulp.js 的作者 ...
- (转载)前端构建工具gulp使用
前端构建工具gulp使用 前端自动化流程工具,用来合并文件,压缩等. Gulp官网 http://gulpjs.com/ Gulp中文网 http://www.gulpjs.com.cn/ Gulp中 ...
- (转)前端构建工具gulp入门教程
前端构建工具gulp入门教程 老婆婆 1.8k 2013年12月30日 发布 推荐 10 推荐 收藏 83 收藏,20k 浏览 本文假设你之前没有用过任何任务脚本(task runner)和命令行工具 ...
- 前端构建工具gulp
前端构建工具gulp使用 前端自动化流程工具,用来合并文件,压缩等. Gulp官网 http://gulpjs.com/ Gulp中文网 http://www.gulpjs.com.cn/ Gul ...
随机推荐
- 导入Mybatis_Spring项目遇到的问题
1. 问题: jdk版本不匹配 解决方法:首先 到项目空间的 .setting文件中找到 org.eclipse.wst.common.project.facet.core.xml 修改参 ...
- c#目录以及子目录下图片批量缩放,像素不变,图像大小改变
采用多线程,整体效果 图像根目录黏贴或者手工选择,点击开始,进行目录底下图片筛查.采用多线程,点击开始按钮,开启线程,这样UI不会卡住 private void button2_Click(objec ...
- Web前端学习(4):显示图片、url与文件路径
本章主旨 介绍<img>标签及其基本属性:介绍URL和文件路径 在上一章中,我简单地介绍了HTML的一些基本标签及基本属性,例如,我们用<p>标签来标记文本段落,用<h1 ...
- _0_web_基础
创:18_3_2017修:20_3_2017 什么是前端? --在浏览器中展示内容以及处理请求 什么是浏览器? --一款能将网页内容展现给用户查看,并且让用户与网页交互的软件 什么是内核? --渲染引 ...
- JDK自带的缓存--包装类的缓存
关于包装类和基本类型的文章我前面已经整理过了,这里大致罗列下重点.我们主要是想研究下包装类的缓存. 1,自动装箱和自动拆箱 java1.5之后就提供了自动装箱和自动拆箱的功能,当然我们也可以手动来装箱 ...
- Servlet开篇
Servlet开篇 前面我已经说过好多遍了,如何学习好一个东西其实就是2个问题: 1,这个东西是干嘛的?为什么要玩这个东西? 2,怎么样就玩好这个东西了?具体的应该玩这个东西的什么? 其实现在对于我来 ...
- 定时任务schedule(spring boot )
1. 定时任务实现方式:SpringBoot自带的Scheduled,可以将它看成一个轻量级的Quartz,而且使用起来比Quartz简单许多,本文主要介绍. 执行方式:单线程(串行)多线程(并行) ...
- 重拾Python(2):如何安装第三方库(Windows)
使用python进行数据分析或者数据处理时,往往需要使用一些库,而使用库之前必须安装它.Anaconda内置了很多常用的第三方库,可以满足绝大部分需求,比如numpy.pandas.matplotli ...
- 小白的Python之路 day5 re正则模块
re正则模块 一.概述 就其本质而言,正则表达式(或 RE)是一种小型的.高度专业化的编程语言,要讲他的具体用法要讲一本书!它内嵌在Python中,并通过 re 模块实现.你可以为想要匹配的相应字符串 ...
- Event Sourcing pattern
Event Sourcing pattern Instead of storing just the current state of the data in a domain, use an app ...