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
安裝、配置