利用gulp,browser-sync,workspace更快捷地进行前端开发 #168
buxuku
announced in
Announcements
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
Note
本文通过
mdx编辑,部分效果可能无法在纯markdown下渲染,更完整的阅读体验,欢迎访问博客页面 利用gulp,browser-sync,workspace更快捷地进行前端开发做前端开发的朋友,也许就像我一样,键盘上面的ctrl键和s健估计是磨损是严重的了。因为我们要不断地编辑器中写完代码,然后ctrl+s,接着再浏览器中按下f5刷新查看效果。不断地重复这样辛勤的工作。
之前用过chrome的一个插件,liveReload,可以实现代码保存之后,自动刷新浏览器的功能。但有一个缺点就是要在chrome中和sublime text中都要安装插件。
后面使用了gulp之后,发现了一个更加NB的node模块,browser-sync,只需要安装这样一个模块,不用在浏览器中和编辑器中再安装插件了,而且自带一个静态服务器,我们纯前端的代码就可以不依赖其它服务环境了,当然,它也可以通过代理的方式,处理我们其它服务环境下面的代码。同时支持跨浏览器,包括手机浏览器,以及同步在多个浏览器上面响应点击,滚动等等事件。一次保存,多处自动刷新。
整个安装过程也是比较简单的,这里大致记录一下:
首先,定位到我们项目的文件夹,运行:
这样通过package.json的方式来管理我们项目的依赖包。
接下来输入我们项目的相关信息 比如:
这里需要注意的两点是:1.项目名字不能用我们要安装依赖模块的名字,比如我们接下来要安装browser-sync,而我们把项目的名字也写成browser-sync的话,那么我们安装broser-sync的时候,可能会报下面这样的错误
2.entry point的入口文件写成gulpfile.js,因为我们要通过gulp来进行自动化构建。
这个时候我们项目下面就会生成一个package.json文件
安装gulp,为了防止gulp升级而导致的一系列的问题,我们不采用全局的方式安装
继续安装browser-sync
安装完毕后,创建gulpfile.js入口文件
这个时候,我们运行
gulp broser-sync这个任务,就会自动创建一个http服务器,并打开我们的默认浏览器,同时监听我们的项目文件我们来测试看看

我时候该我们的workspace上场了。如果你玩的是双屏,一个放浏览器,一个放编辑器,土豪,我们做朋友吧。我们穷逼孩子还是不得不来回在编辑器和浏览器之间切换一下。
我们在html文件中引入一个外部css文件,整个代码如下:
首先设置chrome的workspace,还是用一张图片展示一下:

这里需要注意的就是要指定Mappings值,这样chrome才知道和本地文件的对应关系。
接下来我们来看看强大的workspace的功能。

当然,最后我们看到了,我通过外部引入的css,在审查元素面板是不能看到引入文件的,而且对其修改,虽然能够反映到页面上面,但不会反映到本地css文件上面。这主要是因为browser-sync对css文件采用的是注入的方式。这种方式对css进行修改可以不用重新刷新页面,而只需要重新渲染css修改的部分。这也将导致的一个问题就是,我们在审查元素面板看到不所定义的css样式的真实行号。我尝试在browser-sync中增加配置injectChanges: false,css依然还是采用的注入方式。并没有起什么作用。在设置中点击

Restore defaults and reload就可以。但通过审核元素面板修改css会存在一个问题就是,在输完属性名字是没有问题的,但一开始输入属性值,就会触发workspace保存文件,而文件一更新,又会导致browser-sync重新加载,所以就会无法完整输入具体属性值。配合browser-sync,还是通过审查元素面板点开css文件,进入source面板后修改再手动保存。参看如下操作:最后,我们打开UI地址,就可以对browser-sync进行很多丰富的设置了。
Beta Was this translation helpful? Give feedback.
All reactions