原创 commonjs與es6 中的模塊化機制有什麼區別

文章目錄名詞解釋cjs與es6 module的區別CommonJs導出的是變量的一份拷貝,ES6 Module導出的是變量的綁定(export default 是特殊的)CommonJs是單個值導出,ES6 Module可以導出多

原创 一文詳解sass新特性——模塊

1. 簡介 2. @import的缺點 3. 模塊化的核心@use 3.1 @use的基本用法 3.2 @use與@import的區別 3.3 配置樣式庫的基礎變量 4. 給庫開發者使用的利器@forward 4.1 @forwa

原创 webpack中分割代碼的三種方式

文章目錄entry - 配置多入口、多頁面splitChunks - 智能抽取公共代碼dynamic-import - 按需動態加載tips - 踩坑小提示避免過度優化!結局 官網教程:code-splitting 最近在開發一個

原创 解讀vue源碼之nextTick:何謂 event-loop, 瀏覽器的事件機制,task/microtasks

前言: 前幾周在研究Vue的源碼,感覺設計得還是蠻精巧的。這裏主要談談其異步更新的機制,及實現nextTick的幾種方式,接着會擴展一些瀏覽器的event-loop的實現機制。 目錄: nextTick 與異步渲染UI 瀏

原创 chrome官方解釋在導航欄輸入url敲下回車後發生了什麼?

這是來自谷歌官方博客: inside modern browser 的四篇系列文章,也有人作了全文翻譯,參見承香墨影。本文可看做一個abstract,對全文進行了重點摘要,以期讀完後對chrome瀏覽器的體系結構,處理機制有整體

原创 遲來的回顧2019年

受時疫影響,回到北京已經三週了,今天才第一天來公司上班。坐在工位前摸着🐟,突然想起很久都沒有更新博客了,來回顧下2019做了什麼哪些事情吧。 工作篇 今年還在這家互聯網醫療公司當偏前端的全棧。sql沒少寫,前端上vue寫的比rea

原创 CSS優先級規則:類型、來源、特異性、位置

css-cascade 本文從類型、來源、特異性、位置四個方面描述了css的優先級規則。 four level/type of the importance 首先看類型,以下4種類型,重要性依次降低。 transition (a

原创 理解ES6中的Symbol (understanding es6 第5章)

英文電子書點此閱讀《understanding es6》 目錄 symbol 和 symbol屬性 創建symbols 使用Symbols 共享Symbols Symbol Coercion 類型強制轉換 檢索對象的sym

原创 typescript筆記

深入淺出typescript 在Youtube上看視頻學了一下typescript,主要爲了接下來讀源碼方便。 primitive類型的用小寫。少用object/any。可以直接用[key: string]這樣的方式去定義規範。

原创 vue-router源碼解讀

文章目錄目錄結構路由組件history與hash模式的實現如何拼裝與install vue-router番外篇:如何用rollup打包插件/包 vue-router是vue全家桶中的一員。當初學習的時候,因爲內容比較簡單,只是匆匆

原创 cjs與es6 module 的區別

CommonJs導出的是變量的一份拷貝,ES6 Module導出的是變量的綁定(export default 是特殊的) cjs中,對象的傳遞如同a = b 一樣,基本類型值傳遞,對象則引用傳遞。而es6 module中,如果不用

原创 打包工具比較:webpack VS rollup VS parcel

comparing-bundlers-webpack-rollup-parcel 原文:https://medium.com/js-imaginea/comparing-bundlers-webpack-rollup-parcel

原创 css的組織方式:BEM規則

文章目錄why?模塊化可複用結構what?概念例子 why? 無論選擇了什麼樣的css組織方法,你都會從更加結構化的css 和 Ui 結構中獲益。有些方式不那麼嚴格,更加靈活。而另一些方法則更加易於理解,適用於團隊協作。 爲什麼要選擇

原创 消息服務實踐

prefetch: 如果什麼都不配置,Rabbit會儘可能快速地發送隊列中的所有消息到client端。因爲consumer在本地緩存所有的message, 從而極有可能導致內存耗盡或不足,影響其它進程的正常運行。 prefetch允許

原创 React hooks API小結

setState const [state, setState] = useState(initialState) setState(currentState) setState((prevState) => f(prevState