gulp——用自动化构建工具增强你的工作流程
gulp概念
之前有写了webpack, 现在重新写gulp感觉二者最终结果虽说相差无几,但是侧重点还是有所不同
webpack更偏向于工程化,gulp侧重于项目的整个流程控制,你可以二者结合,也可以分开取舍 都有利于前端项目的工程化构建
安装
1、全局安装$ npm install -g gulp
2、作为项目的开发依赖(devDependencies)安装:
$ npm install --save-dev gulp
3、 在项目根目录下创建一个名为 gulpfile.js 的文件:
var gulp = require('gulp');gulp.task('default', function() {// 将你的默认的任务代码放在这});
4、 运行 gulp:
$ gulp
api
(1) gulp.src()gulp.src('client/js/**/*.js') // 匹配 'client/js/somedir/somefile.js' 并且将 `base` 解析为 `client/js/`.pipe(minify()).pipe(gulp.dest('build')); // 写入 'build/somedir/somefile.js'gulp.src('client/js/**/*.js', { base: 'client' }).pipe(minify()).pipe(gulp.dest('build')); // 写入 'build/js/somedir/somefile.js'
(2) gulp.task()
其实gulp就是不断起一些任务函数,来运行你的项目 gulp.task('copyplugin',function(){gulp.src('./src/plugin/**/*').pipe(gulp.dest('./dev/plugin'))})gulp.task('packscss',function(){gulp.src('./src/styles/app.scss').pipe(sass().on('error',sass.logError)).pipe(gulp.dest('./dev/styles'))}) ....
(3) gulp.watch()
用来接听任务函数,把要接听的任务传入 启动的时候 会根据传入的任务进行执行,当然,不会按顺序gulp.task('watch',function(){gulp.watch('./src/*.html',['copyhtml'])gulp.watch('./src/images/**/*',['copyimg'])gulp.watch('./src/styles/**/*.scss',['packscss'])}
(4) 当你想直接gulp启动项目的话,会使用
gulp.task('default',['webserver','copyhtml','copyimg','copyplugin','packscss','packjs','watch'],function(){console.log('DONE') })
其实gulp常用的就是插件,下面介绍一下项目中常用的插件,从而帮你更高效的构建项目
(1) 启动服务插件 npm i gulp-webserver -D配置:引入gulpvar gulp = require('gulp')var webserver = require('gulp-webserver')gulp.task('webserver',function(){gulp.src('./dev') //编译后的根目录.pipe(webserver({host : 'localhost',port : 4000,directoryListing : { //启动项目显示目录enable : true,path : './dev'},livereload : true}))})
(2) 编译sass npm i gulp-sass node-sass -D
var sass = require('gulp-sass')gulp.task('packscss',function(){gulp.src('./src/styles/app.scss').pipe(sass().on('error',sass.logError)).pipe(gulp.dest('./dev/styles'))console.log('sass编译啦') })
(3) 编译commenjs实现模块化开发 npm i gulp-webpack -D
var webpack = require('gulp-webpack')gulp.task('packjs',function(){gulp.src('./src/scripts/app.js').pipe(webpack({output : {filename : 'app.js' //输出文件为 name.js},module : { loaders :[ //加载器{test : /\.js$/, //指定加载文件的类型loader : 'imports-loader', //用imports-loader解析exclude : './node_modules' //排除不需要编译的js文件}]}})).pipe(gulp.dest('./dev/scripts'))})
(4) 解析浏览器不识别的require npm i imports-loader -D
直接 $ gulp 即可bogon:guang_m macbook$ npm i imports-loader -Dguang_m@1.0.0 /Users/macbook/Desktop/learning/third/guang_m└─┬ imports-loader@0.7.1 ├── loader-utils@1.1.0 └── source-map@0.5.7 npm WARN guang_m@1.0.0 No descriptionnpm WARN guang_m@1.0.0 No repository field.bogon:guang_m macbook$ gulp[15:01:40] Using gulpfile ~/Desktop/learning/third/guang_m/gulpfile.js[15:01:40] Starting 'webserver'...[15:01:40] Webserver started at http://localhost:4000[15:01:40] Finished 'webserver' after 21 ms[15:01:40] Starting 'packscss'...
(5) 解析多个js文件 npm i vinyl-named -D
gulp.src('./src/scripts/app.js').pipe(name()).pipe(webpack({output: {filename: '[name].js'},module: {loaders: [{test: /\.js$/,loader: 'imports-loader',exclude: './node_modules'}]}
(6) 下载yo3 框架,专注于移动端的scss npm i yo3 -D
在node_modules中找到yo3 复制style到项目src中 习惯性的在style中创建app.scss 用来import一些需要的文件 ,再在usage中创建模块scss文件index.scss显示页面样式.m-index{height: 100%;@include flexbox();@include flex-direction(column);header{height: .44rem;background: #00b38a;}section{background: #fff;@include flex();}footer{height:.44rem;background: #f6f6f6;}}
(7) 加载字符串模板 npm i string-loader -D
loaders : [{test : /\.js$/,loader : 'imports-loader',exclude : './node_modules'},{test : /\.string$/,loader : 'string-loader'}]
好了 ,常用就这些了 如果有新的知识点后续还会补充.....
gulp——用自动化构建工具增强你的工作流程相关推荐
- 用自动化构建工具增强你的工作流程——gulp
1. 全局安装 gulp: $ npm install --global gulp 2. 作为项目的开发依赖(devDependencies)安装: $ npm install --save-dev ...
- Gulp:自动化构建工具
一.介绍: gulp是一个基于流的构建工具,可以自动执行指定的任务,简洁且高效 二.优点: 开发环境下,想要能够按模块组织代码,监听实时变化 css/js预编译,postcss等方案,浏览器前缀自动补 ...
- gulp前端自动化构建工具:常用插件介绍及使用
Gulp是基于Node.js的一个构建工具(自动任务运行器),开发者可以使用它构建自动化工作流程(前端集成开发环境).一些常见.重复的任务,例如:网页自动刷新.CSS预处理.代码检测.压缩图片.等 ...
- gulp.js 自动化构建工具学习入门
一.基本安装 1.安装gulp 1 $ npm install --global gulp 2.作为项目的开发依赖安装 1 $ npm install --save-dev gulp 3.在项目根目录 ...
- 前端自动化构建工具合集之gulp-姜威-专题视频课程
前端自动化构建工具合集之gulp-2984人已学习 课程介绍 Gulp自动化构建系统,使用node.js串流让构建更的组合,利用外挂(plugins)使应用更灵活,简单的四个命令,组合 ...
- 前端自动化构建工具:用Gulp4.0搭建一个基本的前端开发环境
一个项目的完成一般需要经过三个步骤:初始化.开发和部署.在前端开发过程中,我们经常需要依靠一些自动化构建工具来优化前端工作流程,来帮助我们完成一系列繁琐的工作,例如浏览器热更新.ES6编译.代码压缩. ...
- 常用的前端自动化构建工具gulp/grunt/fis --简介
常用的前端自动化构建工具 之前我们自动化构建将入门级别使用的 NPM Scripts自动化构建工具对于相对复杂的项目构建会比较吃力,那么我们会了解 Gulp Grunt fIS 用法基本相同:都是通过 ...
- (28)自动化构建工具Gulp
一.自动化构建工具介绍 Grunt:它是最早的自动化构建工具,它是基于临时文件进行构建的,构建速度慢. Gulp:它是基于内存进行构建的.是我们目前最流行最常用的自动化构建工具.构建速度快,上手更容易 ...
- 前端工程化实战 - 自动化构建工具
文章目录 一.自动化构建简介 二.自动化构建初体验 2.1 场景描述 2.2 实际操作体验 三.常用的自动化构建工具 3.1 Grunt 3.2 Gulp 3.3 FIS 四.自动化构建工具 Grun ...
最新文章
- 科研人员多维度测试GPT-3发现:它并不是一名“好学生”
- 网络推广外包介绍网站该如何加快收录量?
- Spring5源码 - 14 如何在所有Bean创建完后做扩展?
- python中的文件处理_python学习——python中的文件处理
- CentOS 7下彻底卸载MySQL数据库
- makefile中 = ,:=,+=有怎么区别?
- 驱动加载工具(InstDrv - V1.3中文版)
- 开计算机课的积极消极影响,多媒体课件的负面影响及建议
- android 三点参数,iqoo3参数配置详情-iqoo3参数配置手机参数详细表
- 【Python-利用动态二维码传输文件(三)】动态二维码展示界面制作,涉及PIL库、threading库、os库、time库和tkinter库的Tk、Label组件
- 关系抽取论文阅读笔记
- 四、异常(高琪java300集+java从入门到精通笔记)
- 禁止迅雷极速版被强制升级为迅雷x
- Java实现短链接URL生成
- 全面风险管理体系架构图
- Git Alias(git快捷命令别名设置)
- python的allure使用
- Windows Server 2012 R2 官方原版镜像
- Poi读取大数据量Excel文件
- GAT 算法原理介绍与源码分析