2017春 前端自动化(二) 页面自动刷新、sass与css转换的使用、pxToRem直观转换
2017春 前端自动化(二) 页面自动刷新、sass与css转换的使用、pxToRem直观转换
顺便从头来一遍流程……

输入: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
接着,安装,浏览器自动实时刷新 browser-sync
dos输入:cnpm install browser-sync --save-dev

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

(ps:如果 cnpm执行不下去,就执行 npm)
<!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 {
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;
}
开始写任务
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");
});
这里只显示主要内容片段
.button{
width: pxToRem(100px);
height:pxToRem(100px);
display: block;
margin: 0 auto;
text-align: center;
}
这样之后
这里,可以不必在去口算,心算psd的具体宽度,高度
psd上面,是多少,就写多少
这里,已经帮你配置好,换算好
2017春 前端自动化(二) 页面自动刷新、sass与css转换的使用、pxToRem直观转换的更多相关文章
- 详解Grunt插件之LiveReload实现页面自动刷新(两种方案)
http://www.jb51.net/article/70415.htm 含Grunt系列教程 这篇文章主要通过两种方案详解Grunt插件之LiveReload实现页面自动刷新,需要的朋友可以 ...
- 方法总结:如何实现html页面自动刷新
使用场景: 1. 页面需要定时刷新,实时加载数据,需要实时查看监控数据(H5中的WebSocket和SSE可以实现局部刷新) 2. 一定时间之后跳转到指定页面(登录注册之类) 3. 前端开发使用伪数据 ...
- 如何实现html页面自动刷新
使用场景: 1. 页面需要定时刷新,实时加载数据,需要实时查看监控数据(H5中的WebSocket和SSE可以实现局部刷新) 2. 一定时间之后跳转到指定页面(登录注册之类) 3. 前端开发使用伪数据 ...
- PHP 页面自动刷新可借助JS来实现,简单示例如下:
<?php echo "系统当前时间戳为:"; echo ""; echo time(); //<!--JS 页面自动刷新 --> echo ...
- HTML 页面自动刷新
学习就是一个不断积累的过程,每一天能够学到一点新东西说明自己就在进步!! HTML head 里面设置页面自动刷新功能 <meta http-equiv="Refresh" ...
- 实现html页面自动刷新的几种方式
自动页面刷新通常会用在对数据的实时性比较敏感的网站中,比如股票走势等,另外在普通的页面自动跳转中也会使用到页面自动刷新技术. 页面刷新我见过的有三种方式,下面来一一说明 1.通过在<head&g ...
- 如何设置页面自动刷新第一篇?? servlet setHeader("refresh","2")
import java.io.IOException; import java.util.Random; import javax.servlet.ServletException; import j ...
- JAVA-JSP内置对象之response对象实现页面自动刷新
相关资料:<21天学通Java Web开发> response对象 实现页面自动刷新1.可以通过response对象的addIntHeader()方法添加一个标题为Refrsh的标头,并指 ...
- html(对php也有效)页面自动刷新和跳转(简单版本)
<html> <head><title>html页面自动刷新和跳转</title><meta http-equiv="Refres ...
随机推荐
- c++邻接表存储图(无向),并用广度优先和深度优先遍历(实验)
一开始我是用c写的,后面才发现广搜要用到队列,所以我就直接使用c++的STL队列来写, 因为不想再写多一个队列了.这次实验写了两个多钟,因为要边写边思考,太菜了哈哈. 主要参考<大话数据结构&g ...
- 走近Java
学习Java需要了解必要的Java历史,不要觉得Java历史对学习Java编程没有任何帮助.在任何时候,了解一门语言的历史都能帮助更好地理解这门语言的精髓.以前在学习语文时,在分析一篇文章,通常会通过 ...
- Java笔记 (持续更新ing)
目录: 1 . GC是什么,为什么要有GC? 1. GC是什么,为什么要有GC? GC是垃圾回收的意思,内存处理是编程人员容易出现问题的地方,忘记或者错误的内存回收会导致程序或系统的不稳定甚至崩溃 ...
- 2015级C++第4周项目 函数
[项目1-求最大公约数] 參考解答 (1)输入两个数.并求出其最大公约数 #include <iostream> using namespace std; //自己定义函数的原型(即函数声 ...
- C语言可变长參数实现原理
微博:http://weibo.com/u/2203007022 (1) C语言可变參数 我们能够从C语言的printf得出可变參数的作用.printf函数的原型例如 ...
- nginx+redis缓存微信的token数据
上一篇文章我们讲了如何在负载均衡的项目中使用redis来缓存session数据,戳这里. 我们在项目的进展过程中,不仅需要缓存session数据,有时候还需要缓存一些别的数据,比如说,微信的acces ...
- C#winform向Txt文件传值,不重复录入且不清空
private void textLog_TextChanged(object sender, EventArgs e) { FileStream fs = new FileStream(@" ...
- Linux chown
在学习 兄弟连 linux教学视频 的时候,我将所学的 linux 命令记录在我的博客中,方便自己查阅. 权限管理命令: chown 基础的命令 命令名称:chown 命令英文原意:change fi ...
- JavaSE项目之聊天室
引子: 当前,互联网 体系结构的参考模型主要有两种,一种是OSI参考模型,另一种是TCP/IP参考模型. 一.OSI参考模型,即开放式通信系统互联参考模型(OSI/RM,Open Systems In ...
- bzoj 3192: [JLOI2013]删除物品
Description 箱子再分配问题需要解决如下问题: (1)一共有N个物品,堆成M堆. (2)所有物品都是一样的,但是它们有不同的优先级. (3)你只能够移动某堆中位于顶端的物品. ( ...