node 8.9.1 (建议用nvm来管理node版本)
nvm:Windows版本 、Mac版本 javascript
NVM经常使用操做css
Git
git简易基础:参考资料html
chrome
最新浏览器 V62+前端
webpack 3.10.0 、npm scripts (用npm作任务管理)、babel (es6必备工具)vue
参考资料:ES6和Babel你不知道的事儿java
构建工具webpack
为何要用构建工具?1.资源压缩,2.静态资源替换,3.模块化管理,4.编译处理
MVVM框架选择(vue,angular,react)git
模块化设计(js模块化,css模块化)
自适应方案设计(移动端自适应,放在构建工具中作)
代码维护及复用性设计的思考(需求变动,产品迭代,bug定位,新功能开发)
git clone https://github.com/stefanieliang/JDFinance.git
linter-eslint
atom-beautify
(代码格式化),Emmet
(快速完成HTML输入),snippets
(快速生成代码片断)设计原则
设计方法
设计原则
设计方法
基本概念
css像素、设备像素(物理像素)、逻辑像素(同css像素)、设备像素比 。
参考资料:CSS像素、物理像素、逻辑像素、设备像素比、PPI、Viewport #21
、移动端(自适应)布局解决方案
viewport
<meta name="viewport" content="width=device-width,initial-scale=1.0">
三类:
layout viewport(页面窗口,大);
visual viewport(可视区域的大小);
ideal viewport(ideal viewport的宽度等于移动设备的屏幕宽度)
width=device-width所作的就是将layout viewport=ideal viewportrem(相对于HTML标签)/em(相对于父级元素)
工做原理
设计意义
工做原理
<a class="api a">a.html</a> <a class="api b">b.html</a> <script type="text/javascript"> //注册路由 document.querySelectorAll('.api').forEach(item=>{ item.addEventListener('click',(e)=>{ e.preventDefault(); let link = item.textContent; //pushState(参数,页面title,连接) window.history.pushState({name:'api',link,link}); },false) }) //监听路由 window.addEventListener('popstate',(e)=>{ console.log({ location : location.href, state : e.state }); },false) </script>
<a class="hash a">#a.html</a> <a class="hash b">#b.html</a> <script type="text/javascript"> //注册路由 document.querySelectorAll('.hash').forEach(item=>{ item.addEventListener('click',(e)=>{ e.preventDefault(); let link = item.textContent; location.hash = link; },false) }) //监听路由 window.addEventListener('hashchange',(e)=>{ console.log({ location : location.href, hash : location.hash }); },false) </script>
安装、配置、plugin
安装、配置、loader
安装、配置