原创 前端優化--阻塞渲染的CSS

接上一篇「關鍵渲染路徑」,瀏覽器大致經過了:構建 DOM 樹、構建 CSSOM 樹、構建渲染樹、佈局、繪製五個步驟。 這裏主要簡述,構建 CSSOM 相關! 默認情況下,CSS 被視爲阻塞渲染的資源,這意味着瀏覽器將不會

原创 Gitlab--CI執行用戶問題

19年團隊使用了 Gitlab-CI,做一些自動構建流程。最近團隊小夥伴自己嘗試搭建流程,參照了我之前發的文章 – Gitlab–CI。但過程中,遇到了用戶執行權限的問題。於是有了下面的內容… 問題描述 按照文章(https:

原创 一張圖呈現前端模塊演化歷史

在模塊化編程中,開發者將程序分解成離散功能塊(discrete chunks of functionality),並稱之爲模塊。 精心編寫的模塊提供了可靠的抽象和封裝界限,使得應用程序中每個模塊都具有條理清楚的設計和明確的目的。

原创 利用 target=_blank 進行前端釣魚

爲什麼大部分國外網站內鏈接不用 target="_blank"新窗口打開? Google 都是當前窗口打開;Baidu/Bing 都是新窗口打開。 用戶將無法控制它在本頁打開還是新窗口打開。 新窗口打開使任務欄更加地擁擠。

原创 清明節網站變灰是如何實現的

爲表達全國各族人民對抗擊新冠肺炎疫情鬥爭犧牲烈士和逝世同胞的深切哀悼,國務院今天發佈公告,決定2020年4月4日舉行全國性哀悼活動。在此期間,全國和駐外使領館下半旗誌哀,全國停止公共娛樂活動。4月4日10時起,全國人民默哀3分

原创 動態執行腳本

提到動態執行腳本,大家想到的肯定是 eval 或 new Function(),在 nodejs 中有專屬的 vm 模塊,可以完成相應的 sandbox 作用。 瀏覽器中動態執行腳本 eval() 函數會將傳入的字符串當做 Jav

原创 Thinking--函數強制參數

Thinking系列,旨在利用10分鐘的時間傳達一種可落地的編程思想。 默認值的作用 reduce 達到 map + filter 效果 JavaScript 是弱類型語言,對於函數的參數不會做強制限制,如果需要限制,我們

原创 2019Thinking(上) -- 一個前端開發者的個人思考

以下內容多爲自己平時積累而來,思考和結論正確與否純個人觀點,希望對大家有所感悟和觸發~~~ 先寫下兩個觀點和感悟: 每一項技術的誕生都是爲了解決現有技術的一些弊端或滿足現有發展的訴求;技術的發展會推動行業發展;行業的變革會衍

原创 最佳實踐:vue組件引用傳值

下述組件傳值指引用類型(數組或對象)傳值。 準備:單向數據流 所有的 prop 都使得其父子 prop 之間形成了一個單向下行綁定:父級 prop 的更新會向下流動到子組件中,但是反過來則不行。這樣會防止從子組件意外變更父級組件的

原创 vscode中調試vue工程

在 debug 時,通常的方式如下幾種: 源代碼中增加 debugger 或者 console.log 在 Chrome 瀏覽器 Sources 中加斷點 vscode 中直接調試,對源碼定位準確直觀(下面闡述該種方式)

原创 setTimeout/setInterval delay數值過大問題

delay 參數將轉換爲帶符號的32位整數,這有效地將延遲限制爲 2147483647 ms(約 24.8 天) 2147483647 === Math.pow(2, 31) - 1 === parseInt('011111111

原创 JavaScript的工作原理:引擎,運行時和調用堆棧的概述

原文地址:https://blog.sessionstack.com/how-does-javascript-actually-work-part-1-b0bacc073cf 隨着 JavaScript 變得越來越流行,各團隊

原创 Nginx 訪問權限管理

前段時間,團隊開放了組件庫演示環境,由於存在一些小夥伴在外地辦公(只能外網或者 vpn 到內網)。所以,爲了安全考慮,設想是否可以通過 Nginx 做一些訪問限制呢?當然,答案是肯定的。 訴求整理: 內網:爲了便利性,隨意訪問,

原创 Event loop及macrotask & microtask

寫這篇文章的原因有兩個:其一,團隊小夥伴之前分享過《macrotask microtask介紹》這個話題,當時留下了一些疑問,至今仍模棱兩可;其二,看到了「奇舞週刊」轉發了一篇《從 薛定諤的貓 聊到 Event loop》的文章

原创 monorepo--依賴

19年,團隊沉澱了組件庫、圖表庫、工具庫等基礎建設相關內容。上述的內容均爲獨立工程維護,起初我們採用 Git Subtree + npm install <folder> 來關聯各個項目,帶來了開發、調試的便利,同時也帶了一些複雜