原创 webpack的sideEffects到底該怎麼用?

https://segmentfault.com/a/1190000015689240 tree-shaking仍然對一些引用包做不到移除,比如console.log了一個包引用, 而給包添加了side-effects之後會徹底將

原创 JavaScript的同步異步

單線程的概念 java是一門多線程語言,多線程處理各種各樣的事,比如說文件上傳,下載等 JavaScript是一門單線程的語言,同一個時間只能做一件事,同個時間有多個任務的話,這些任務就需要進行排隊,前一個任務執行完,纔會執行下

原创 GraphQL小tips

前端通過安裝包形式引入graphQL(在已有graphQL server端情況下,前端graphQL可直接通過api方法查詢接口對應參數數據而過濾不必要的數據字段返回), webpack編譯gql文件, GraphQL 不足: 寫

原创 app端前端框架對比 - Mui與ionic、Cordova 、Weex、React Native對比

1.1.1.介紹: mui是最接近原生App體驗的前端框架。 極小:100k的js文件,60k的css文件。原生編寫,不依賴任何三方框架 極強:xcode和Android studio裏所有原生控件都具備 高性能:精練的代碼、適時

原创 互聯網的一些事 - 科學與靈脩:創業者精神修煉問題

記得第一次把iPhone放在手心時,相信很多人和我一樣,會有一種難以言表的感受,覺得這是一個有着難以言表的魅力的產品:無論是產品的外觀工業設計、界面操控時的那種優雅的張力,還是用手指操作時那種完整的交互體驗,都不僅僅是平常所用的酷

原创 針對網上的某富文本編輯的bug解決

由於項目中使用了網上某富文本編輯器所帶來的一系列bug困惑我許久, 特別花時間來解決它, 下面是關於的解決方案: html內容做文本限制長度超出截斷處理後還原html處理: var str = 'abc  d 222rf

原创 flex兼容佈局

display:flex和display:box都可用於彈性佈局,在實際的測試中display:flex不能完全的替代display:box; display:flex的存在瀏覽器兼容性,兼容寫法: .container{ dis

原创 關於骨架屏的一些點

吸引更多的注意力,內容還在加載中,相比於之前的Loading動畫,骨架屏頁面更容易讓用戶產生一種錯覺,頁面快加載完了。骨架屏實現原理很簡單,就是通過佔位線框元素,漸進式加載數據。 不足: 增加程序運行負擔,無法根本解決頁面加載性能

原创 React輕量狀態管理庫

跨組件通信解決方案: react本身的Context; redux:結合react-redux, 非爲react設計的,對於小型應用比較重; mobx:結合mobx-react, 非爲react設計的,對於小型應用比較重; dva

原创 webpack配置中常用的CommonsChunkPlugin

CommonsChunkPlugin主要是用來提取第三方庫和公共模塊,避免首屏加載的bundle文件或者按需加載的bundle文件體積過大,從而導致加載時間過長,是一把優化項目的利器。 CommonsChunkPlugin作用:

原创 js - tips點

JSON.stringify(function (){}) // undefined class Obj { constructor (){ } get () { console.log(1); } } typeo

原创 微宏任務執行順序比較,promise.then,process.nextTick, setTimeout 以及 setImmediate的執行順序

先舉一個比較典型的例子: setImmediate(function(){ console.log(1); },0); setTimeout(function(){ console.log(2); },0); new Pr

原创 頁面底部顯示不全問題且挖掘出的打包問題分析解決

現象: 1)內容多的頁面,頁面底部內容顯示不全; 2)本地環境刷新兩下變正常,測試環境怎麼刷都還是顯示不全; 分析: 下意識對比開發和測試環境表現差異的css, 發現本地刷新min-height, 會沒有然後頁面正常,後來找到mi

原创 escape和encodeURI和encodeURIComponent使用場景和區別

函數出現時間: escape() javascript 1.0 encodeURI()

原创 vue中的$on, $emit, $once, $off源碼實現

這幾種模式是基於訂閱觀察者模式的,維護一個事件中心,on的時候將事件按名稱存在事件中心裏,稱之爲訂閱者,然後emit將對應的事件進行發佈,去執行事件中心裏的對應的監聽器。 第一步就是創建一個構造構造,維護一個事件中心events