2017春 前端自动化(二)   页面自动刷新、sass与css转换的使用、pxToRem直观转换

引言:
  此文要演示:浏览器页面自动刷新;移动端px与rem的转换,简单直观化;使用sass自动生成css进行编译,而不是借助于考拉工具;
  顺便从头来一遍流程……
 
 
建立如上图01所示的目录结构,层次明晰,便于日后管理。

快捷键进入当前文件夹,在此打开dos窗口
输入:node -v,显示node版本,说明node之前已经安装好(之前已经介绍安装方法)
 

之后安装 cnpm,为了日后安装所需的包,速度更快一些(基于阿里云的服务)
  输入:  npm install -g cnpm --registry=https://registry.npm.taobao.org

 输入:npm init ,以来生成packge.json文件 ,便于查找对比,哪个工具存在

在当前目录,安装gulp
 输入:cnpm install gulp  --save-dev 

(ps: cnpm node gulp 全局安装一次,默认之前都有了;局部安装 gulp 输入:cnpm install gulp --save-dev )

接着,安装,浏览器自动实时刷新  browser-sync 
dos输入:cnpm install browser-sync --save-dev

接下来,安装 sass,安装 sass之前,需要预先安装ruby,这样我们可以摆脱考拉工具了,纯dos下, 是不是显得略屌点……

ruby 安装 地址
http://rubyinstaller.org/downloads/
下载,安装

之后,dos下输入:cnpm install gulp-sass --save-dev   来安装 sass
(ps:如果 cnpm执行不下去,就执行 npm)
 
新建立html页面
------------------------------------------------------【html页面-------------------------------------------------------------
<!doctype html>
<html>

<head>
<title>我是首页</title>
<meta charset="utf-8" />
<meta name="viewport" content="width=100%, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0,user-scalable=no" />
<meta content="telephone=no" name="format-detection" />
<meta name="apple-mobile-web-app-title" content="">
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="apple-touch-fullscreen" content="yes">
<meta content="black" name="apple-mobile-web-app-status-bar-style">
<meta http-equiv="x-ua-compatible" content="ie=edge,chrome=1">
<link href="static/css/out/base.css" type="text/css" rel="stylesheet" />
<link href="static/css/out/main.css" type="text/css" rel="stylesheet" />
</head>

<body>

   <ul class="list">
     <li>菜单1</li>
     <li>菜单2</li>
   </ul>

   <button class="button">确定</button>
</body>

</html>
------------------------------------------------------html页面】-------------------------------------------------------------
 
------------------------------------------------------【关键css片段----------------------------------------------------------
html {
    font-size: 20px;
}

@media only screen and (min-width: 400px) {
    html {
        font-size: 21.33px !important;
    }
}

@media only screen and (min-width: 414px) {
    html {
        font-size: 22.08px !important;
    }
}
@media only screen and (min-width: 480px) {
    html {
        font-size: 25.6px !important;
    }
}
$browser-default-font-size: 40px !default;
@function pxToRem($px) {
    //$px为需要转换的字号
    @return $px / $browser-default-font-size * 1rem;
}
------------------------------------------------------关键css片段】----------------------------------------------------------
在项目里面,右键新建,gulpfile.js文件
开始写任务
------------------------------------------------------【gulpfile.js片段----------------------------------------------------------
var gulp=require("gulp");
var browserSync=require("browser-sync");
var sass=require("gulp-sass");

gulp.task("server",["listenProduct","buildSass"],function(){
console.log("server is starting.....");
browserSync.init({
 server:"./dev",
 port:8383,
 reloadDelay:500,
 notify:true,
 files:[
   "./dev/*.html",
   "./dev/static/css/def/scss/*.scss",
   "./dev/static/css/out/*.css",
   "./src/static/js/def/*.js",
   "./src/static/js/out/*.js",
  ]
});
});
gulp.task("listenProduct",function(){
gulp.watch("./dev/static/css/def/scss/*.scss",["autoBuildConcat"]);
});

gulp.task("autoBuildConcat",function(){
   runSequence("buildSass");
});

gulp.task("buildSass",function(){
 console.log("buildSass")
 return gulp.src('./dev/static/css/def/scss/*.scss')
.pipe(sass({
outputStyle:"expanded"
}))
.pipe(gulp.dest("./dev/static/css/out/"));
});

gulp.task("default",function(){
gulp.start("server");
});
涉及到之前已略有介绍此相关
这里只显示主要内容片段
------------------------------------------------------gulpfile.js片段】----------------------------------------------------------
在main.scss里面写
.button{
    width: pxToRem(100px);
    height:pxToRem(100px);
    display: block;
    margin: 0 auto;
    text-align: center;
}

这样之后
dos下输入 gulp 一个命令  即可自动打开如下 页面,实现了:自动刷新,px  rem换算 ,sass  css转换 
 

且,通过如此配置, 你可以,随心所欲的使用sass,而不是再去借助于考拉工具
这里,可以不必在去口算,心算psd的具体宽度,高度
psd上面,是多少,就写多少
这里,已经帮你配置好,换算好
 
(ps:描述过程中的截图,是为了更好的匹配选择,减少弯路过程;加粗或背景是重点。)
 
多谢,田兄,一路指点,方可完善。
 
下载地址 ;http://files.cnblogs.com/files/leshao/auto01.rar 
                               

2017春 前端自动化(二) 页面自动刷新、sass与css转换的使用、pxToRem直观转换的更多相关文章

  1. 详解Grunt插件之LiveReload实现页面自动刷新(两种方案)

    http://www.jb51.net/article/70415.htm    含Grunt系列教程 这篇文章主要通过两种方案详解Grunt插件之LiveReload实现页面自动刷新,需要的朋友可以 ...

  2. 方法总结:如何实现html页面自动刷新

    使用场景: 1. 页面需要定时刷新,实时加载数据,需要实时查看监控数据(H5中的WebSocket和SSE可以实现局部刷新) 2. 一定时间之后跳转到指定页面(登录注册之类) 3. 前端开发使用伪数据 ...

  3. 如何实现html页面自动刷新

    使用场景: 1. 页面需要定时刷新,实时加载数据,需要实时查看监控数据(H5中的WebSocket和SSE可以实现局部刷新) 2. 一定时间之后跳转到指定页面(登录注册之类) 3. 前端开发使用伪数据 ...

  4. PHP 页面自动刷新可借助JS来实现,简单示例如下:

    <?php  echo "系统当前时间戳为:"; echo ""; echo time(); //<!--JS 页面自动刷新 --> echo ...

  5. HTML 页面自动刷新

    学习就是一个不断积累的过程,每一天能够学到一点新东西说明自己就在进步!! HTML head 里面设置页面自动刷新功能 <meta http-equiv="Refresh" ...

  6. 实现html页面自动刷新的几种方式

    自动页面刷新通常会用在对数据的实时性比较敏感的网站中,比如股票走势等,另外在普通的页面自动跳转中也会使用到页面自动刷新技术. 页面刷新我见过的有三种方式,下面来一一说明 1.通过在<head&g ...

  7. 如何设置页面自动刷新第一篇?? servlet setHeader("refresh","2")

    import java.io.IOException; import java.util.Random; import javax.servlet.ServletException; import j ...

  8. JAVA-JSP内置对象之response对象实现页面自动刷新

    相关资料:<21天学通Java Web开发> response对象 实现页面自动刷新1.可以通过response对象的addIntHeader()方法添加一个标题为Refrsh的标头,并指 ...

  9. html(对php也有效)页面自动刷新和跳转(简单版本)

    <html>    <head><title>html页面自动刷新和跳转</title><meta http-equiv="Refres ...

随机推荐

  1. Matlab人脸检測方法(Face Parts Detection)具体解释

    今天同学让我帮忙制作一个人脸表情识别的样本库,当中主要是对人脸进行裁剪,这里用到了一个相对较新的Matlab人脸检測方法Face Parts Detection.网上百度了一下发现关于Matlab人脸 ...

  2. 新ITC提交APP常见问题与解决方法(Icon Alpha,Build version,AppIcon120x120)(2014-11-17)

    1)ICON无法上传.提示图片透明(有Alpha通道) 苹果如今不接受png里的Alpha了.提交的图标带有Alpha通道就提示: watermark/2/text/aHR0cDovL2Jsb2cuY ...

  3. ABP 教程文档 1-1 手把手引进门之 ASP.NET Core & Entity Framework Core(官方教程翻译版 版本3.2.5)

    本文是ABP官方文档翻译版,翻译基于 3.2.5 版本 官方文档分四部分 一. 教程文档 二.ABP 框架 三.zero 模块 四.其他(中文翻译资源) 本篇是第一部分的第一篇. 第一部分分三篇 1- ...

  4. urllib2的基本使用

    urlopen 1 import urllib2 2 3 # 向指定的url发送请求,并返回服务器响应的类文件对象 4 response = urllib2.urlopen("http:// ...

  5. Mybatis中模糊查询的各种写法(转)

    . sql中字符串拼接 SELECT * FROM tableName WHERE name LIKE CONCAT(CONCAT('%', #{text}), '%');或者 <if test ...

  6. 嵌套查询别名必须性示例。HAVING用法

    HAVING的一个重要作用: SELECT子句有统计函数嵌套时SELECT子句不能出现GROUP BY列,如果需要显示此列可以把嵌套的统计函数写成子查询放在HAVING子句中. 可用HAVING简化语 ...

  7. HTML基础教程-段落

    HTML 段落 段落是通过 <p> 标签定义的. <p>This is a paragraph</p> <p>This is another parag ...

  8. qml demo分析(externaldraganddrop-拖拽)

    一.效果展示 客户端程序拖拽是一个很常见的需求,对于QWidget程序来说,需要重写如图1这么几个方法,通过重写这几个方法的逻辑,我们就可以控制鼠标拖拽的逻辑,糟糕的是QDrag执行exec后是一个阻 ...

  9. 遍历map的几种方式

    1,平时开发中对map的使用很多,然后发现了很多map可能存在的各种问题:如HashMap 需要放置 1024 个元素,由于没有设置容量初始大小,随着元素不断增加,容量 7 次被迫扩大,resize ...

  10. HNOI2013 BZOJ3142 数列

    尝试用Markdown写一篇博客 3142: [Hnoi2013]数列 Description 小T最近在学着买股票,他得到内部消息:F公司的股票将会疯涨.股票每天的价格已知是正整数,并且由于客观上的 ...