使用Gulp定制前端开发环境
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定制前端开发环境的更多相关文章
- gulp构建前端开发环境
1.gulp环境的安装 首先确保你已经正确安装了nodejs环境.然后以全局方式安装gulp: npm install -g gulp 2.建立文件夹 mkdir item 3.初始化项目: npm ...
- 基于gulp编写的一个简单实用的前端开发环境好了,安装完Gulp后,接下来是你大展身手的时候了,在你自己的电脑上面随便哪个地方建一个目录,打开命令行,然后进入创建好的目录里面,开始撸代码,关于生成的json文件请点击这里https://docs.npmjs.com/files/package.json,打开的速度看你的网速了注意:以下是为了演示 ,我建的一个目录结构,你自己可以根据项目需求自己建目
自从Node.js出现以来,基于其的前端开发的工具框架也越来越多了,从Grunt到Gulp再到现在很火的WebPack,所有的这些新的东西的出现都极大的解放了我们在前端领域的开发,作为一个在前端领域里 ...
- 基于 Express+Gulp+BrowserSync 搭建一套高性能的前端开发环境
基于 Express+Gulp+BrowserSync 搭建一套高性能的前端开发环境 Express 是比较经典的,也是最常用的 Nodejs Web框架. 一.Express 快速构建一个web应用 ...
- 基于gulp编写的一个简单实用的前端开发环境
自从Node.js出现以来,基于其的前端开发的工具框架也越来越多了,从Grunt到Gulp再到现在很火的WebPack,所有的这些新的东西的出现都极大的解放了我们在前端领域的开发,作为一个在前端领域里 ...
- 用grunt搭建自动化的web前端开发环境实战教程(详细步骤)
用grunt搭建自动化的web前端开发环境实战教程(详细步骤) jQuery在使用grunt,bootstrap在使用grunt,百度UEditor在使用grunt,你没有理由不学.不用!前端自动化, ...
- angular学习笔记(2)- 前端开发环境
angular1学习笔记(2)- 前端开发环境 1.代码编辑工具 2.断点调试工具 3.版本管理工具 4.代码合并和混淆工具 5.依赖管理工具 6.单元测试工具 7.集成测试工具 常见的前端开发工具 ...
- 【Yeoman】热部署web前端开发环境
本文来自 “简时空”:<[Yeoman]热部署web前端开发环境>(自动同步导入到博客园) 1.序言 记得去年的暑假看RequireJS的时候,曾少不更事般地惊为前端利器,写了<Sp ...
- 【前端福利】用grunt搭建自动化的web前端开发环境-完整教程
jQuery在使用grunt,bootstrap在使用grunt,百度UEditor在使用grunt,你没有理由不学.不用! 1. 前言 各位web前端开发人员,如果你现在还不知道grunt或者听说过 ...
- 转:【前端福利】用grunt搭建自动化的web前端开发环境-完整教程
原文地址:http://blog.csdn.net/wangfupeng1988/article/details/46418203 jQuery在使用grunt,bootstrap在使用grunt,百 ...
随机推荐
- Html5学习进阶一 视频和音频
HTML5 规定了一种通过 video 元素来包含视频的标准方法. 视频格式 当前,video 元素支持两种视频格式: Internet Explorer Firefox 3.5 Opera 10 ...
- CentOS下SVN使用
1. 介绍 这里想在CentOS上搭建的是基于http访问的SVN Server 2. 软件 安装相关软件 yum install httpd httpd-devel mod_dav_svn subv ...
- OpenCV实践之路——人脸检测(C++/Python) 【转】
转自:http://blog.csdn.net/xingchenbingbuyu/article/details/51105159 版权声明:本文为博主原创文章,转载请联系作者取得授权. 本文由@星沉 ...
- 3.sql
from odps import ODPS o = ODPS(access_id="LTASVb3aOF3ghjek", secret_access_key="FeUoz ...
- 【bugfree】安装
我用的是WIN8系统 首先要安装XAMPP,开始里面的Apache和MySQL服务. 在运行Apache服务时报错: ----------------------------------------- ...
- Font Awesome 字体使用方法, 兼容ie7+
WebFont 技术可以让网页使用在线字体,而无需使用图片,从而有机会解决开头设计师提到的问题.它通过 CSS 的@font-face语句引入在线字体,使用 CSS 选择器指定运用字体的文本,与此同时 ...
- codeforces-723D
题目连接:http://codeforces.com/contest/723/problem/D D. Lakes in Berland time limit per test 2 seconds m ...
- 洛谷 P1064 金明的预算方案【有依赖的分组背包】
题目描述 金明今天很开心,家里购置的新房就要领钥匙了,新房里有一间金明自己专用的很宽敞的房间.更让他高兴的是,妈妈昨天对他说:"你的房间需要购买哪些物品,怎么布置,你说了算,只要不超过N元钱 ...
- 洛谷——P3395 路障
P3395 路障 题目背景 此题约为NOIP提高组Day1T1难度. 题目描述 B君站在一个n*n的棋盘上.最开始,B君站在(1,1)这个点,他要走到(n,n)这个点. B君每秒可以向上下左右的某个方 ...
- android新创建一个Activity时,会创建哪些部分
在创建时,会提示创建部分. 详细部分: