Gulp是一个模块化打包工具。 Gulp本身只有几个入口,支持他拥有强大功能的是各种各样的插件。...Gulp的使用看起来非常简单,只需要一个一个任务链式执行就可以了,它还可以与Webpack结合起来使用 比如将Webpack作为一个插件来处理ES6转换为ES5的操作。...---- gulp.watch(glob[, opts], tasks) 监视文件,并且可以在文件发生改动时候做一些事情。...eg: var watcher = gulp.watch('js/**/*.js', ['uglify','reload']); watcher.on('change', function(event)...{ console.log('File ' + event.path + ' was ' + event.type + ', running tasks...'); }); gulp.watch
include('include/header.html') 页面主体部分 @@include('include/footer.html') 4、...gulp 有个 watch 方法,就是监听文件是否有变动的,我们只需稍微修改下 gulpfile.js 文件,增加一段监听代码,如下: var gulp = require('gulp'); var fileinclude...('dist')); }); gulp.task('watch', function () { gulp.watch('page/**/*.html', ['fileinclude']); }...); 写好之后,我们只需在终端里执行 gulp watch 我们每次保存源 html 后,gulp 就会自动帮我们编译一遍。 ...静态页面Demo项目,如何将header和footer 像PHP一样 include? grunt-html-imports
gulp = require("gulp"); var livereload = require("gulp-livereload"); gulp.task('watch',function(){...执行“watch”脚本 gulp watch 修改文件后,报错 file参数名称修改正确,重启命令 html修改正确 可以参考github上的主页...--save-dev 写脚本: var gulp = require("gulp"); var livereload = require("gulp-livereload"); var...browserSync = require("browser-sync"); gulp.task('watch',function(){ livereload.listen(); gulp.watch...gulp browser-sync 参考文档: 2.atom安装参考:https://www.jianshu.com/p/b4e80ed3a304 3.livestyle初体验参考
前端工程化部分的面试题主要考察应试者对工程化的理解与运用,如何通过工程化来提高代码质量、编译代码、优化代码;如何提高网站性能,保障网站安全,提升用户体验;如何将开发的代码按照理想的方式发布和上线等。...使用 watch监听src目录中代码的变化,并进行实时编译。使用 connect创建一个项目服务器,用来做开发调试。 4、说说 WabPack打包的流程。 具体流程如下。...(1)实现对不同格式文件的处理,比如将Scss转换为CSS,或将 TypeScript转化为Javascript。 (2)可以编译文件,从而使其能够添加到依赖关系中。...11、说说 WebPack支持的脚本模块规范。 不同项目在定义脚本模块时使用的规范不同。...(3)开发便捷,能替代 grunt/gulp的部分工作,如程序打包、压缩混淆、图片转base64编码等。 (4)扩展性强,插件机制完善,特别是支持 React热插拔功能。
,然后用 npm 脚本调用它。...在终端输入gulp就可以运行这个这个Gulp任务了。 一个好用的热重载工具:gulp-watch。。。监控文件系统的变化。...安装: npm i --save-dev gulp-watch 配置代码如下: const watch = require('gulp-watch'); ...... gulp.task('watch...',()=>{ watch('aap/**.jsx',()=> gulp.start('default')) }) 以上这段代码,定义了一个名为watch的任务,监控app/**.jsx文件的变化,...总结: npm脚本是实现简单任务自动化和脚本调用的最佳选择 Gulp可以用js编写更加复杂的任务,并且他是跨平台的 如gulpfile太长可以把代码分解到多个文件中 webpack可以用来生成客户端打包文件
大部分Gulp工作流倾向于只要求4个不同的匹配模式。 1.*.scss:*特征是一个通配符,用来匹配当前路径中的一些特征文件。...表明,Gulp应该排除这个匹配的特征,当你要在匹配的文件中,排除一个文件,是非常有用的。倘若这样,not-me.scss将被排除出匹配。 4.*....watch文件的语法是: //Gulp watch syntax gulp.watch('files-to-watch',['tasks','to','run']); 如果我们希望监视多个Sass文件以及运行...开发者面对一个问题是,当自动化运行这个进程时,很难将你的脚本串联成正确的顺序。....pipe(gulp.dest('dist')) }); 现在如果你运行这个useref任务,Gulp将贯穿三个脚本标签,以及连接他们到dist/js/main.min.js. ?
你可以保存LESS文件,接着Gulp会自动把它转换为CSS文件并更新浏览器。...watch函数的使用方法如下所示: gulp.task('watch', function () { gulp.watch('templates/*.tmpl.html', ['build']);...它可以和gulp-watch插件或者前面描述的gulp-watch()函数一起使用。...假设你正在开发单页应用的第4页,刷新页面就会导致你回到开始页。...(查看大图) BrowserSync不需要使用浏览器插件,因为它本身就可以为你提供文件服务(如果文件是动态的,则为他们提供代理服务)和用来开启浏览器和服务器之间的socket的脚本服务。
去https://gulpjs.com/plugins/搜相关的插件 gulp-xxx 2. 打开插件的npm仓库 看文档使用 3. 下载并引入gulp插件 4....) .pipe(eslint.failAfterError()) .pipe(livereload()); }) // 语法转换 // babel能将es6模块化语法转换为commonjs...模块化语法 // 能将es6及其以上的语法转换为es5及其以下的语法 gulp.task('babel', () => // 读取所有js文件 gulp.src('src/js/*.js')...('src/less/*.less', gulp.series('less')); gulp.watch('src/js/*.js', gulp.series('js-dev')); }); //...start gulp.task('start', gulp.series('build', 'watch')); 上面包括了基本上所有gulp工程化所需要的包的使用方法和注释,喜欢的朋友希望你收藏!
$ npm install gulp-uglify --save-dev (4) 使用 gulp 压缩 index.js 并将结果输出 var gulp = require('gulp'); var...gulp 原生并不支持 ES6 语法,但是我们可以告诉 gulp 使用 babel 将 gulpfile 转换为 ES5,方法就是将 gulpfile 命名为 gulpfile.babel.js。...gulp-watch 开始工作以后,每次改动 index.js 都要手动 gulp 一下实在太麻烦了,使用 gulp-watch 可以监听文件变化,当文件被修改之后,自动将文件转换。...(1) 安装 gulp-watch $ npm install gulp-watch --save-dev (2) 新增 task gulp.task('watch', () => { gulp.src...')) }); (3) 启动 watch task $ gulp watch 修改 index.js 后 lib/index.js 也会随之改变。
('gulp'); const electron = require('electron-connect').server.create(); gulp.task('watch:electron',...function () { electron.start(); gulp.watch(['..../main.js'], function (done){ electron.restart(); done(); }); gulp.watch(['....= require('gulp'); gulp.task('watch:electron', function () { gulp.watch(['....\\node_modules\\.bin\\gulp watch:electron", }, 运行项目 npm run start npm run hot 我们分别运行项目的启动和自动webpack的脚本
需要构建做什么 一般来说,我们需要构建主要是用来做这些工作:ES6/7 转 ES5、NPM 包管理、组件化、 CSS 预编译、图片压缩、打包合并等。...Gulp 构建方案 既然只涉及到一些任务的处理,那么使用 gulp 是最合适不过的了。...true }), imagemin.jpegtran({ progressive: true }), imagemin.optipng({ optimizationLevel: 4...((file) => { return file.base; // 压缩到原目录 })); }); gulp.task('watch', () => { gulp.watch(...`${src}/**/*.css`, ['css']); }); gulp.task('dev', ['css'], () => { runSequence('watch'); }); postcss.config.js
脚本,可以供大家参考一下: package.json { "name": "myproject", "version": "1.0.0", "description": "my project.../dist')) }) gulp.task('json:watch', () => { gulp.watch('..../dist')) }) gulp.task('templates:watch', () => { gulp.watch('..../dist')) }) gulp.task('styles:watch', () => { gulp.watch('..../dist')) }) gulp.task('scripts:watch', () => { gulp.watch('.
) 对于 js 文件 => 压缩 => 转码(ES6 转 ES5) 对于 html 文件 => 压缩 => 转码(对格式的转换) 对于静态资源文件的处理 对于第三方文件的处理 … gulp 的安装 是一个..., 切换到项目目录 => 输入指令 $ npm install gulp -D 4..../a/**') -> 找到指令目录下的所有文件 2-4. gulp.src('..../abc') -> 把他接收到的内容放到 abc 目录下 4. gulp.watch() => 语法: gulp.watch(路径信息, 任务名称) => 作用: 监控指定目录下的文件..., 一旦发生变化, 从新执行后面的任务 => 例子: gulp.watch('.
'gulp'); gulp.task('default', ['watch']); 可以看到 default 任务并没有执行任何操作,但执行 defalut 任务前,我们需要先执行 watch 任务,我们再来看看...watch 任务里的具体代码 // watch.js const gulp = require('gulp'), config = require('../...../config').watch; gulp.task('watch', ['browsersync'], () => { gulp.watch(config.styles, ['styles'..., 'lint-styles']); gulp.watch(config.scripts, ['scripts', 'jshint']); gulp.watch(config.images...(size()) }) 图片 图片 细心的童鞋可能发现了,在 production 目录下有 4 个 optimize.js 文件,分别是对应 HTML CSS JS Images 文件,尽管我们建立这些任务
gulp定义是:用自动化构建工具增强你的工作流程,是一种基于任务文件流方式,你可以在前端写一些自动化脚本,或者升级历史传统项目,解放你重复打包,压缩,解压之类的操作。...,所有的自动化工作流操作都牢牢的掌握在自己手上,你可以用gulp写一些自动化脚本,比如,文件上传,打包,压缩,或者改造传统的前端应用。...即使项目时间再多,也不要用gulp搭建前端应用,因为webpack生态很强大了,看gulp的最近更新还是2年前,但是写个自动化脚本,还算可以,毕竟gulp的理念就是用自动化构建工具增强你工作流程,也许当你接盘传统项目时...本文示例code-example[4] 参考资料 [1]gulp-inject: https://www.npmjs.com/package/gulp-inject [2]browser-sync: https...://browsersync.io/docs/gulp [3]api: https://www.gulpjs.com.cn/docs/api/src/ [4]code-example: https://
本文将会介绍如何使用gulp4来搭建项目脚手架,如果您还在使用gulp3或更老的版本,您也以通过本文的一些思想将之前的项目进行完善,更新。...项目目录设计 1.src目录,即我们开发项目时的源目录,具体结构如下: 我们定义views是我们视图层,即页面文件的目录,js目录为业务逻辑的脚本文件,lib存放第三方框架,include目录为公共部分的存放目录...gulp.parallel('js', 'css', 'images'))); // 监听文件变化 gulp.task('watch', async () => { gulp.watch('...js变化 gulp.watch('src/css/*', gulp.series('css')); // 监听css变化 gulp.watch('src/images/*', gulp.series...在脚手架选型上,也不一定非要用gulp,webpack,一般的经验是传统型的静态网站适合用gulp,由于不需要编译es6,所以有更小的体积,当然也可以用webpack,本文主要是给大家提供一使用gulp4
'build/somedir/somefile.js' 将`client/js/`替换为build gulp.src('client/js/**/*.js', { base: 'client' })...将`client`替换为build 2.dest gulp.dest()方法是用来写文件的,其语法为: gulp.dest(path[,options]) path为写入文件的路径; options...3.watch gulp.watch()用来监视文件的变化,当文件发生变化后,我们可以利用它来执行相应的任务,例如文件压缩等。...其语法为 gulp.watch(glob[, opts], tasks); glob 为要监视的文件匹配模式,规则和用法与gulp.src()方法中的glob相同。...('js/**/*.js', ['uglify','reload']); gulp.watch()还有另外一种使用方式: gulp.watch(glob[, opts, cb]); glob和opts
使用webpack编写编译脚本时就是按webpack的规则进行各种配置,必须完全遵守它的条条框框,明明是自己写nodejs代码进行编译,但完全可控感。...之前就听说过gulp+browserify的组合,这次就尝试使用这个东东重写编译脚本。话不多说,直接上最后的成果。...gulp编译脚本 gulpfile.js const gulp = require('gulp'); const browserify = require('browserify'); const errorify...(srcPath, 'img', '**/*')], ['image']); gulp.watch([path.join(srcPath, 'html', '**/*')], ['html']...); gulp.watch([path.join(buildJsPath, '**/*_bundle.js'), path.join(buildCssPath, '**/*_bundle.css
('watch', () => { // 因为是需要顺序执行子任务,所以用的concat,如果是需要并行执行的话用parallel gulp.watch('./20201108/*.txt',...watch 下图为命令行中输入日志 ?...理念就是万物皆可流 glob-watcher: 也就是去实现gulp.watch功能,监控文件流变化 核心就是把文件转换成Stream流,然后对Stream进行操作。...,比webpack的插件简单多了 下面讲一个日常中对于重复工作提效写的一个脚本,讲讲思路,让大家对gulp的使用场景有个更深的理解。...ftp.docUrl) }) return pipe } })) 以上命令保证转转的所有sdk都能实现按需加载,并且规范化输出 结语 如果只是想用一个很简单的小功能,不用写繁琐的node脚本
领取专属 10元无门槛券
手把手带您无忧上云