美高梅官方网站3045-mgm6608美高梅app下载
gulp自动化创设项目(二)——自动化

gulp自动化创设项目(二)——自动化

作者:mgm6608美高梅app下载    来源:未知    发布时间:2020-02-10 09:21    浏览量:

新建项目,然后创建 docker-compose 文件:

一、简介

第一次接触自动化构建我的表情是这样的

version: '3.7'services: php: image: phpstorm/php-71-apache-xdebug-26 ports: - "80:80" volumes: - /c/www/docker-compose-lnmp/www:/var/www/html/ environment: XDEBUG_CONFIG: remote_host=host.docker.internal

  RD是Windows Server远程桌面服务,可以实现从客户端运行服务器上的软件。首先在Server安装软件,设置能远程访问的应用和账号,并且创建.rdp快捷方式文件,然后Client打开.rdp或使用Web的方式打开程序。在客户端看来,虚拟程序就像安装在本地一样,但其始终是一个远程桌面,缺点也继承:流畅度不高、画面有损。

我们继续在跟目录下创建src / htmldist /html文件夹,,在src/ html下面创建index.html文件,现在的结构应该是这样的:

选中这个文件,然后右键创建 docker 什么什么的。

  本人所在公司对部分员工设置相对复杂的浏览网页方式:客户端远程桌面访问192.168.1.200服务器 —— 账号登陆 —— 打开浏览器。该192.168.1.200服务器本身是台运行在物理机之上的VMware的虚拟机,如此方式上网,那流畅度低的不忍直视。另一个问题是同事下载后的文件不删除,导致虚拟机硬盘经常处于爆满状态。

myweb
    |----- dist
          |-----html
    |----- node_modules
    |-----src
          |-----html
                |-----index.html

随便起个名字,其他配置不用改。

  改用RD上网后,同事双击类似浏览器的快捷方式即可上网,由于访问的是物理机,流畅度也有所提升。浏览器下载的文件可存放到客户端本地,免去将文件从服务器拷出的过程。

现在在index.html文件中写入<h1>hello world</h1>

点击启动。

 

实现自动拷贝

接下来编写gulpfile.jsmgm6608美高梅app下载,文件,这是实现自动化的关键,目的是把src/ html下面的index.html文件拷贝到dist / html

//引入gulp模块
var gulp = require('gulp');
//创建任务,任务名为copy
gulp.task('copy',function(){
    //读取文件
    gulp.src('src/html/index.html')
    //写入文件
    .pipe(gulp.dest('dist/html'));
});

编写完成后,在控制台用gulp copy执行copy任务

执行命令

然后查看dist --> html下面已经存在index.html文件。

等待控制台输出完成后,打开浏览器访问: localhost/index.php

二、服务器配置

创建http服务

下一个任务是创建一个http服务,通过http服务访问dist / html下面的idnex.html。这就需要引入browsersync插件。先用npm安装,

npm install browser-sync --save-dev

安装完成后在gulpfile.js中增加以下代码块:

//引入browser-sync模块并创建一个bs对象
var bs = require('browser-sync').create();
//创建server服务,名为start
gulp.task('start',function(){
    bs.init({
        server:'./dist/html/'
    });
});

完成后在控制台调用此任务

调用http服务

打开浏览器访问localhost:3000(也可能浏览器会自动打开),出现Hello World,按ctrl+c关闭服务,任务完成。

mgm6608美高梅app下载 1浏览结果

1、架设过程略

多窗口同步

接下来是一个有趣的事,如果上面编写的index.html足够长,在同时打开多个浏览器窗口浏览的情况下,所有窗口竟然会同步滚动!如果此时有手机和这台电脑处于同一个局域网络的话,手机访问控制台中External提供的URL打开的窗口会和PC上的保持同步!如下图所示效果

多窗口同步展示

浏览器下载 xdebug 插件,开启,然后在 phpstorm 打上断点并刷新页面。注意要把红色箭头指的监听打开才能生效。

可参考:

实现监听

现在的任务是实现只要src中的源文件index.html有所改动,程序会自动拷贝到dist-->html下面(即执行上面编写的copy任务),并且浏览器自动刷新,实现实时浏览”这里用到了监听事件,继续编写start任务:

//引入browser-sync模块并创建一个bs对象
var bs = require('browser-sync').create();
//创建server服务,名为start
gulp.task('start',function(){
    bs.init({
        server:'./dist/html/'
    });
    gulp.watch('src/html/index.html',['copy']);
    gulp.watch(['src/html/index.html']).on('change',bs.reload);
});

编写完成后在控制台执行start任务,开启http服务。打开多个窗口,发现能实现同步滚动,现在不要关闭浏览器窗口,打开src/html/index.html,修改页面内容,发现多个浏览器窗口实时刷新,展示修改后的结果。

修改实时同步预览

到此,初步的自动化已经实现了,此处实时刷新的效率与电脑配置有关。

mgm6608美高梅app下载 2debug

 

2、安装浏览器

浏览器不能安装在“C:Users用户名AppDataLocal”,否则客户端登陆报错

下一篇:没有了
友情链接: 网站地图
Copyright © 2015-2019 http://www.zen-40.com. mgm美高梅有限公司 版权所有