1.安装package.json中依赖了的组件

npm install

2.来到本地路径,创建工程配置文件

npm init

3.本地安装gulp

npm install gulp --save-dev

4.复用功能的插件

npm install gulp-file-include --save-dev

5.合并文件的插件

npm install gulp-concat --save-dev

6.压缩css文件的插件

npm install gulp-cssmin --save-dev

7.安装服务的插件

npm install gulp-connect --save-dev

8.自动打开浏览器的插件

npm install gulp-open --save-dev

9.配置 gulpfile.js

var gulp = require('gulp'),  // 引入gulp
fileinclude = require('gulp-file-include'), // 复用功能
concat = require('gulp-concat'), // 合并
cssmin = require('gulp-cssmin'), // 压缩
connect = require('gulp-connect'), // 安装服务
gulpopen = require('gulp-open'), // 自动打开浏览器
os = require('os') // 用于检测环境,nodejs内置组件 // 运行环境的检测 处理兼容问题
var browser = os.platform() === 'linux' ? 'google-chrome' : (
os.platform() === 'darwin' ? 'google chrome' : (
os.platform() === 'win32' ? 'chrome' : 'chrome'
)
) // 合并HTML
gulp.task('fileinclude',function(done) {
gulp.src('src/views/*.html')
.pipe(fileinclude({
prefix: '@@',
basepath: '@file'
}))
.pipe(gulp.dest('dist/views'))
.on('end',done)
}) // 合并、压缩CSS
gulp.task('cssmin',function(done){ // 定义任务
gulp.src(['src/css/*.css']) // 找对象
.pipe(concat('style.min.css')) // pipe管道
.pipe(cssmin())
.pipe(gulp.dest('dist/css/'))
.on('end',done)
}) // 拷贝图片
gulp.task('copy:images',function(done){
gulp.src(['src/images/*'])
.pipe(gulp.dest('dist/images'))
.on('end',done)
}) // 配置路径
var host = {
path: 'dist/',
port: 8090,
index: 'qzgcs.html'
} // 运行web服务器
gulp.task('connect',function() {
connect.server({
root: host.path,
port: host.port,
livereload: true // 热更新
})
}) // 监控文件变化
gulp.task('watch',function(done){
gulp.watch('src/**/*',['cssmin','fileinclude'])
.on('end',done)
}) // 自动打开浏览器
gulp.task('open',function(done){
gulp.src('')
.pipe(gulpopen({
app: browser,
uri: 'http://localhost:8090/views/' + host.index
}))
.on('end',done)
}) // 任务组装
gulp.task('default',['fileinclude','cssmin','copy:images'],function(){ // 默认任务 任务集合(没有先后顺序) 回调函数
// body...
})
// 开发模式
gulp.task('dev',['fileinclude','cssmin','copy:images','connect','watch','open']) // npm i 安装package.json上的所有 dev
// set 查看环境变量
// set | findstr "NVM"
// on 事件监听机制

结果:$ gulp dev

运行前:

运行后:

使用Gulp定制前端开发环境的更多相关文章

  1. gulp构建前端开发环境

    1.gulp环境的安装 首先确保你已经正确安装了nodejs环境.然后以全局方式安装gulp: npm install -g gulp 2.建立文件夹 mkdir item 3.初始化项目: npm ...

  2. 基于gulp编写的一个简单实用的前端开发环境好了,安装完Gulp后,接下来是你大展身手的时候了,在你自己的电脑上面随便哪个地方建一个目录,打开命令行,然后进入创建好的目录里面,开始撸代码,关于生成的json文件请点击这里https://docs.npmjs.com/files/package.json,打开的速度看你的网速了注意:以下是为了演示 ,我建的一个目录结构,你自己可以根据项目需求自己建目

    自从Node.js出现以来,基于其的前端开发的工具框架也越来越多了,从Grunt到Gulp再到现在很火的WebPack,所有的这些新的东西的出现都极大的解放了我们在前端领域的开发,作为一个在前端领域里 ...

  3. 基于 Express+Gulp+BrowserSync 搭建一套高性能的前端开发环境

    基于 Express+Gulp+BrowserSync 搭建一套高性能的前端开发环境 Express 是比较经典的,也是最常用的 Nodejs Web框架. 一.Express 快速构建一个web应用 ...

  4. 基于gulp编写的一个简单实用的前端开发环境

    自从Node.js出现以来,基于其的前端开发的工具框架也越来越多了,从Grunt到Gulp再到现在很火的WebPack,所有的这些新的东西的出现都极大的解放了我们在前端领域的开发,作为一个在前端领域里 ...

  5. 用grunt搭建自动化的web前端开发环境实战教程(详细步骤)

    用grunt搭建自动化的web前端开发环境实战教程(详细步骤) jQuery在使用grunt,bootstrap在使用grunt,百度UEditor在使用grunt,你没有理由不学.不用!前端自动化, ...

  6. angular学习笔记(2)- 前端开发环境

    angular1学习笔记(2)- 前端开发环境 1.代码编辑工具 2.断点调试工具 3.版本管理工具 4.代码合并和混淆工具 5.依赖管理工具 6.单元测试工具 7.集成测试工具 常见的前端开发工具 ...

  7. 【Yeoman】热部署web前端开发环境

    本文来自 “简时空”:<[Yeoman]热部署web前端开发环境>(自动同步导入到博客园) 1.序言 记得去年的暑假看RequireJS的时候,曾少不更事般地惊为前端利器,写了<Sp ...

  8. 【前端福利】用grunt搭建自动化的web前端开发环境-完整教程

    jQuery在使用grunt,bootstrap在使用grunt,百度UEditor在使用grunt,你没有理由不学.不用! 1. 前言 各位web前端开发人员,如果你现在还不知道grunt或者听说过 ...

  9. 转:【前端福利】用grunt搭建自动化的web前端开发环境-完整教程

    原文地址:http://blog.csdn.net/wangfupeng1988/article/details/46418203 jQuery在使用grunt,bootstrap在使用grunt,百 ...

随机推荐

  1. Altium Designer 网络连接方式Port和Net Label详解

    1.图纸结构      图纸包括两种结构关系: 一种是层次式图纸,该连接关系是纵向的,也就是某一层次的图纸只能和相邻的上级或下级有关系:另一种是扁平式图纸,该连接关系是横向的,任何两张图纸之间都可以建 ...

  2. ajax和json数据

    一.Ajax概述 1.什么是同步,什么是异步 同步现象:客户端发送请求到服务器端,当服务器返回响应之前,客户端都处于等待     卡死状态 异步现象:客户端发送请求到服务器端,无论服务器是否返回响应, ...

  3. Postman前端HTTP请求调试神器教程

    Postman功能: 主要用于模拟网络请求包 快速创建请求 回放.管理请求 快速设置网络代理 我们看下界面: 一 接口请求流程: 二 postman使用   从流程图中我们可以看出,一个接口请求需要设 ...

  4. linux nbd & qemu-nbd

    网络块设备:  Network Block Device   可以将一个远程主机的磁盘空间,当作一个块设备来使用.就像一块硬盘一样. 使用它,你可以很方便的将另一台服务器的硬盘空间,增加到本地服务器上 ...

  5. JAVA向EXE文件尾追加配置信息,用于解决局版客户端的程序IP配置问题

    package com.demo.blog; import java.io.DataOutputStream;import java.io.File;import java.io.FileOutput ...

  6. JavaScript js 兼容浏览器问题 兼容Fire

    做BS开发就难免会用到javascript,而每个浏览器对javascript的支持有不同.这就需要我们程序员去兼容他们,不然有些浏览器就无法运行我们的代码.就会造来客户的投诉,如果让BoSS知道了, ...

  7. HDU 6336 子矩阵求和

    Problem E. Matrix from Arrays Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 262144/262144 ...

  8. LCA【bzoj3364】 [Usaco2004 Feb]Distance Queries 距离咨询

    Description  奶牛们拒绝跑马拉松,因为她们悠闲的生活无法承受约翰选择的如此长的赛道.因此约翰决心找一条更合理的赛道,他打算咨询你.此题的地图形式与前两题相同.但读入地图之后,会有K个问题. ...

  9. UVA——442 Matrix Chain Multiplication

    442 Matrix Chain MultiplicationSuppose you have to evaluate an expression like A*B*C*D*E where A,B,C ...

  10. HDU 3966 Aragorn's Story(树链剖分)(线段树区间修改)

    Aragorn's Story Time Limit: 10000/3000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) ...