它经常用来进行一些前端任务,比如: 生成一个Web服务器 当一个文件保存时,浏览器自动刷新 编译像Sass或者LESS一样的预处理器 优化资源文件,像CSS,JavaScript和图片等 这些并不是Gulp...它有其他的特性,比如跨多设备同步操作。...baseDir:'app' }, }) }) 我们也需要稍微改变我们的sass任务,让Browser Sync能够注入新的CSS样式(更新CSS)到浏览器,当sass任务运行时。...第一个任务集是一个开发进程,我们可以用它编译Sass到CSS,监视文件的修改,从而重新加载浏览器。 第二个任务集是压缩进程,我们为生产网站准备了所有文件。...所以我们现在能创建一个任务,确定clean:dist第一个运行,然后其他任务运行: gulp.task('build',function(callback){ runSequence('clean
gulp 是一个构建工具,基于Node.js的平台运行,使用的是commonJs的模块化语法。...我们使用gulp需要用到的包 一个TASK任务,对应一个包,对应一个处理逻辑、 gulp.series对应的是同步任务,从左到右,依次执行任务。...('dist')); }); // 自动化 --> 自动编译 --> 自动刷新浏览器(热更新) --> 自动打开浏览器 gulp.task('watch', function() { livereload.listen...open('http://localhost:3000'); // 监视指定文件,一旦文件发生变化,就执行后面的任务 gulp.watch('src/less/*.less', gulp.series...'js-dev', gulp.series('eslint', 'babel', 'browserify')); // 同步顺序执行,同一时间只能执行一个任务 速度慢 gulp.task('js-prod
Gulp是一个构建系统,它能通过自动执行常见任务,比如编译预处理CSS,压缩JavaScript和刷新浏览器,来改进网站开发的过程。...当只有一个任务的时候,函数并不会起太大的作用。...+(js|css) 匹配根目录下所有后缀为.js或者.css的文件 此外,Gulp也有很多其他的特征,但并不常用。如果你想了解更多的特征,请查看Minimatch文档。...换句话说,如果你在执行任务时只需要两个插件,那么其他不相关的插件就不会被加载。 WATCHING FILES Gulp可以监听文件的修改动态,然后在文件被改动的时候执行一个或多个任务。...BrowserSync提供了一种在多个浏览器里测试网页的很好方式(查看大图)。 BrowserSync也可以在不同浏览器之间同步点击翻页、表单操作、滚动位置。
什么是 gulp gulp 是一个前端构建工具,它能通过自动执行常见任务,比如编译预处理 CSS ,压缩 JavaScript 和刷新浏览器,来改进网站开发的过程,从而使开发更加快速高效。...但是如果某个任务所依赖的任务是异步的,就要注意了,gulp 并不会等待那个所依赖的异步任务完成,而是会接着执行后续的任务。...gulp.watch() gulp.watch() 用来监视文件的变化,当文件发生变化后,我们可以利用它来执行相应的任务,例如文件压缩等。...这对于一些语言编译器或者需要其他应用的情况来说很有用。...2、gulp 中着重了解 gulp.task() 如何处理依赖任务是耗时操作或者异步操作的情况。
gulp是基于Nodejs的自动任务运行器, 她能自动化地完成 javascript/coffee/sass/less/html/image/css 等文件的的测试、检查、合并、压缩、格式化、浏览器自动刷新...如果你考虑一下多少时间被浪费在运行构建命令( a build command)或者刷新浏览器上,你将意识到可以节省大量的时间。...此时您可以运行第一个任务。运行以下命令并观察,/ scss文件夹中的所有SCSS文件都将编译到相应目录中的CSS中: gulp scss 请注意,在本示例中,我们指定了要运行的任务。...要深入了解这个JavaScript自动化实现,我建议添加 gulp-notify ,当任务运行时通知你。此外,您可以创建一个单独的任务来最小化生成的CSS代码,并使“scss”任务作为依赖关系运行。...以下是几个杰出的例子: BrowserSync BrowserSync注入CSS,JavaScript,并在进行更改时自动刷新浏览器。
gulp定义是:用自动化构建工具增强你的工作流程,是一种基于任务文件流方式,你可以在前端写一些自动化脚本,或者升级历史传统项目,解放你重复打包,压缩,解压之类的操作。...当我们执行npx gulp时会默认运行gulpfile.js导出的default,在gulpfile.js导出的任务会注册到gulp任务中 在gulp中任务主要分两种,一种是公开任务、另一种是私有任务...申明的变量就变成了es5了 通常情况下,一般打包后的dist下的css或者js都会被压缩,在gulp中也是需要借助插件来完成 压缩js与css 压缩js ... const teser = require...html中 在gulp中,任务之间的依赖关系需要我们自己手动写一些执行任务流,现在一些打包后的dist的文件并不会自动注入html中。.../dist' } }) } exports.taskDevServer = taskDevServer; 当我们运行npx gulp taskDevServer时,浏览器会默认打开http
gulp是基于Nodejs的自动任务运行器, 她能自动化地完成 javascript、coffee、sass、less、html/image、css 等文件的测试、检查、合并、压缩、格式化、浏览器自动刷新...: 2 运行gulp任务 要运行gulp任务,只需切换到存放gulpfile.js文件的目录(windows平台请使用cmd或者Power Shell等工具),然后在命令行中执行gulp命令就行了,...,即它左右不能有其他东西了。...当有多种匹配模式时可以使用数组 //使用数组的方式来匹配多种文件 gulp.src(['js/*.js','css/*.css','*.html']) options为可选参数。...3.watch gulp.watch()用来监视文件的变化,当文件发生变化后,我们可以利用它来执行相应的任务,例如文件压缩等。
在开发 web 项目时,我们通常需要将 HTML、CSS、JavaScript 等文件打包成静态文件,以便于部署和运行。...') .pipe(browserSync.stream());}// CSS 任务function css() { return gulp.src('css/main.css') .pipe...());}// 监视并刷新任务gulp.task('watch', () => { browserSync.init({ server: { baseDir: './' } }...gulp.watch('js/main.js', gulp.series("js"));});// 默认任务gulp.task('default', gulp.series('html', 'css'...="anonymous">运行 Gulp在 my-project 文件夹中打开终端,运行以下命令启动 Gulp:gulp此时,浏览器会自动打开 http://localhost:3000/ 并显示您的
: ├── gulpfile.js ├── node_modules │ └── gulp └── package.json 2.2 运行gulp任务 要运行gulp任务,只需切换到存放gulpfile.js...文件的目录(windows平台请使用cmd或者Power Shell等工具),然后在命令行中执行gulp命令就行了,gulp后面可以加上要执行的任务名,例如gulp task1,如果没有指定任务名,则会执行任务名为...是当前定义的任务需要依赖的其他任务,为一个数组。...但是如果某个任务所依赖的任务是异步的,就要注意了,gulp并不会等待那个所依赖的异步任务完成,而是会接着执行后续的任务。...3.4 gulp.watch() gulp.watch()用来监视文件的变化,当文件发生变化后,我们可以利用它来执行相应的任务,例如文件压缩等。
Gulp 是基于 NodeJS 的前端自动化构建工具,在项目开发过程中自动化地完成 html / css / js / image / sass / less 等文件的编译、合并、压缩、语法检查、浏览器自动刷新等重复性任务...build/css')) // 将会在build/css下生成test.css});// 定义默认任务gulp.task('default', ['less'], () => { console.log...任务,该任务将 /src/less 文件下的 test.less 文件,转换为 test.css 文件,该文件将在 /buil/css 下生成,文件目录结构如下所示在实际开发过程中,我们定义了多个类似...less 的任务,以实现不同的需求,当任务有多个,为实现某一需求而运行所有任务显然是不可取的,我们可通过 gulp + 任务名的方式来运行指定的任务,而不会触发其他任务除了我们定义的 less 任务外...,便会运行回调定义的其他任务gulp.task('default', () => { gulp.watch('src/less/*.less', function(){ gulp.run
JS由ES(ECMAScript),DOM,BOM 组成,目前运行在浏览器内核中,NODE中只能运行ECMAScript,无法使用DOM,BOM。 NODE就是一个JS运行环境。...在每个版本的nodejs中,都会自带npm,为了统一起见,我们安装一个全局的npm工具,这个操作很有必要,因为我们需要安装一些全局的其他包,不会因为切换node版本造成原来下载过的包不可用。...gulp是基于Nodejs的自动任务运行器, 它能自动化地完成 javascript/coffee/sass/less/html/image/css 等文件的的测试、检查、合并、压缩、格式化、浏览器自动刷新...6、在Gulp中使用BrowserSync BrowserSync可以同时同步刷新多个浏览器,更神奇的是你在一个浏览器中滚动页面、点击按钮、输入框中输入信息等用户行为也会同步到每个浏览器中。...通常你不会需要默认的地址,所以需要使用代理模式: - browser-sync start --proxy "localhost:8080" --files "css/*.css"
3 软件中的模块化开发 一个功能就是一个模块,多个模块可以组成完整应用,抽离一个模块不会影响其他功能的运行。 ?.../dist/css')); }); 当代码运行出现以下情况时需进行修改 ?...:压缩混淆JavaScript gulp-file-include 公共文件包含 browsersync 浏览器实时同步 1.html任务 const htmlmin = require('gulp-htmlmin...('dist)); }); 2.css任务 // css任务 //1.less语法转换 //2.css代码压缩 const less = require('gulp-less'); const csso...将处理的结果进行输出 .pipe(gulp.dest('.dest/css')) }) 3. js任务 // js任务 //.1.es6代码转换 // 代码压缩 const babel = require
运行环境 浏览器(软件)能够运行JavaScript代码,浏览器就是JavaScript代码的运行环境 Node(软件)能够运行JavaScript代码,Node就是JavaScript代码的运行环境...4.3软件中的模块化开发 一个功能就是一个模块, 多个模块可以组成完整应用,抽离一个模块不会影响其他功能的运行。 ?...模块内部可以使用exports对象进行成员导出, 使用require方法导入其他模块。 ?...在命令行工具中执行gulp任务 6.8 Gulp中提供的方法 gulp.src(): 获取任务要处理的文件 gulp.dest(): 输出文件 gulp.task(): 建立gulp任务...浏览器实时同步 插件使用: 去官网搜索,查看下载命令,npm方法下载 在gulpfile.js中引入这个插件 如: const htmlmin = require('gulp-htmlmin
中介绍了将Less文件编译成CSS文件的方法,仔细观察可以看到如果按照博客中介绍的方法,在编译多个Less文件或者编译不同文件夹下的Less文件时需要执行多次Less文件编译命令,而使用Gulp可以一次性完成这些操作...code目录下自动创建了一个dist文件夹,并且在dist文件夹下自动创建了一个index.html文件,表示文件拷贝任务运行成功 5.自动执行文件拷贝任务 在这个文件拷贝任务中,有一个非常大的弊端...); }); //监视copy任务 gulp.task('dist', function() { //当src目录下的index.html文件发生变化的时候 //执行copy任务...index.html文件,修改完成后只要一保存,HTML代码就能同时同步到dist文件夹下的index.html中 使用Gulp自动将Less编译成CSS 下面的操作都是在项目中安装了Gulp的情况下进行的...) .pipe(gulp.dest('css/')); }); //监视less任务 //当less文件发生变化的时候,会自动将Less转换成CSS gulp.task('watchLess'
LTS = Long Term Support 长期支持版 稳定版 (推荐安装) Current 拥有最新特性 实验版 安装后不会再桌面创建图标,需要Windows PowerShell 命令行工具查看是否安装成功...Gulp能做什么 项目上线,HTML、CSS、 JS文件压缩合并 语法转换(es6、 less . 公共文件抽离 修改文件浏览器自动刷新 7....gulp-uglify :压缩混淆lavaScript gulp-file- include公共文件包含 browsersync 浏览器实时同步 插件使用: 去npm官网搜索...('dist')); done(); }); // css任务 //1.less语法转换 // 2.css代码压缩 gulp.task('cssmin', done => { // 获取路径下的文件.../dist/js')) done() }); // 复制其他文件 gulp.task('copy', done => { gulp.src('.
如果在编辑器中对html文件增加或删除了元素,或者是在css文件中修改了某个元素的某个样式,然后想在浏览器中看到效果,通常的步骤是:把窗口切换到浏览器,然后按键盘上的F5刷新页面。...在找它之前,我也找到其他可以实现自动刷新浏览器的插件,如:LiveReload,它也可以自动刷新页面,实时预览html效果。但是,我为什么没用LiveReload呢?...默认情况下,浏览器和编辑器并不会自动为你激活LiveReload的功能,你需要手动配置一些东西。所以这么麻烦,干脆看看还有没有别的解决方案。...ignore:忽略部分对程序运行无影响的文件的改动,nodemon只监视js文件,可用ext项来扩展别的文件类型。...这里需要注意的是,如果是修改了服务端的js文件,会先通过nodemon重启应用,这时浏览器不会刷新,要再保存一下修改的文件,browser-sync才会显示出修改后的效果。
gulp是基于Nodejs的自动任务运行器, 她能自动化地完成 javascript/coffee/sass/less/html/image/css 等文件的的测试、检查、合并、压缩、格式化、浏览器自动刷新...']); //定义默认任务 elseTask为其他任务,该示例没有定义elseTask任务 //gulp.task(name[, deps], fn) 定义任务 name:任务名称 deps:依赖任务名称...fn:回调函数 //gulp.src(globs[, options]) 执行任务处理的文件 globs:处理的文件路径(字符串或者字符串数组) //gulp.dest(path[, options...]) 处理完后文件生成路径 9、运行gulp 9.1、说明:命令提示符执行gulp 任务名称; 9.2、编译less:命令提示符执行gulp testLess; 9.3、当执行gulp default或...10、使用webstorm运行gulp任务 10.1、说明:使用webstorm可视化运行gulp任务; 10.2、使用方法:将项目导入webstorm,右键gulpfile.js 选择”Show Gulp
gulp是基于Nodejs的自动任务运行器, 她能自动化地完成 javascript/coffee/sass/less/html/image/css 等文件的的测试、检查、合并、压缩、格式化、浏览器自动刷新...']); //定义默认任务 elseTask为其他任务,该示例没有定义elseTask任务 //gulp.task(name[, deps], fn) 定义任务 name:任务名称 deps:依赖任务名称...fn:回调函数 //gulp.src(globs[, options]) 执行任务处理的文件 globs:处理的文件路径(字符串或者字符串数组) //gulp.dest(path[, options...]) 处理完后文件生成路径 9、运行gulp 9.1、说明:命令提示符执行gulp 任务名称; 9.2、编译less:命令提示符执行gulp testLess; 9.3、当执行gulp default...10、使用webstorm运行gulp任务 10.1、说明:使用webstorm可视化运行gulp任务; 10.2、使用方法:将项目导入webstorm,右键gulpfile.js 选择”Show
(6)Gulp能做什么 项目上线,HTML、CSS、JS文件压缩合并 语法转换(es6、less …) 公共文件抽离 修改文件浏览器自动刷新 (7)Gulp使用 使用npm install gulp下载...('dist')); }); // css任务 // 1.less语法转换 // 2.css代码压缩 gulp.task('cssmin', () => { // 选择css目录下的所有less.../src/js/*.js') .pipe(babel({ // 它可以判断当前代码的运行环境 将代码转换为当前运行环境所支持的代码 presets...里的流的file必须是vinyl对象 var File = require("gulp-utils").File//或者var File = require("vinyl") var myf = new...浏览器实时同步
在 Web 开发历程上,我们构建了很多小型的技术解决方案,比如用 HTML 去描述页面结构,CSS 去描述页面样式,JavaScript 去描述页面逻辑,或者你也可以用一些比如 Jade 去取代 HTML...,用 Sass 或 Less 去取代CSS,用 CoffeeScript 或者 TypeScript 之类的去取代 JavaScript,不过项目中的依赖可能是一件比较烦恼的事情。...); }); // 默认任务(就是你在命令行输入 `gulp` 时运行) gulp.task('default', ['watch', 'scripts']); Given the configuration...the official Webpack tutorial: Webpack 扩展了 CommonJs 的 require 的想法,比如你想在 CoffeeScript、Sass、Markdown 或者其他什么代码中...你可以用其他工具和 Webpack 一起使用。它不会解决所有事情,只是解决一个打包的难题,无论如何,这是在开发过程中需要解决的问题。
领取专属 10元无门槛券
手把手带您无忧上云