當前位置:
首頁 > 最新 > 前端每周清單:Slack Webpack構建優化,CSS 命名規範與用戶追蹤

前端每周清單:Slack Webpack構建優化,CSS 命名規範與用戶追蹤

新聞熱點

國內國外,前端最新動態

ECharts 4.0 發布: 2018 年 1 月 16 日,百度的 ECharts 團隊對產品進行了更新,發布了時隔兩年的大版本 4.0。在 ECharts 4.0 新版本中,主要在性能功能、易用性及擴大使用範圍三個大的方面進行了八項升級:帶給用戶更強大的性能和功能,讓開發者使用 ECharts 變得更加輕鬆,讓更多的人在更多的場景都能訪問使用 ECharts 製作的可視化產品。

Puppeteer 1.0 發布: Puppeteer 是由 Google Chrome 團隊開源的,Headless Chrome 操作介面庫,已成為事實上的 Headless 瀏覽器操作標準。本周 Puppeteer 1.0 正式發布,為我們帶來了 Chromium 65,page.coverage API,page.pdf() 支持自定義頭部與腳部,XPath 支持增強,target.createCDPSession() 兼容原生協議等特性變化。

jQuery 3.3.0 發布: jQuery 仍然是很多 Web 開發工作中不可或缺的部分,自上次 jQuery 大版本更新以來,其核心團隊更多地著眼於應該移除什麼部分,而不是添加新的功能特性,來保證 jQuery 的小巧易用性。該版本中移除了部分過時的 API,並且為 .addClass(), .removeClass(), 以及 .toggleClass() 這幾個函數支持輸入某個樣式類名數組作為參數。

Angular 5.2 發布: Angular 5.2 發布,其可以直接替代之前的 5.1 版本,包含了部分錯誤修復與性能提升。新版本中,優化了對於模板的類型檢查,添加了對於 TypeScript 2.6 的支持,優化了 Router 參數與數據繼承。

開發教程

步步為營,掌握基礎技能

無縫為 create-react-app 項目添加 SSR + 代碼分割特性: create-react-app 是非常不錯的原型化工具,能夠快速搭建 React 基礎應用。本文即是介紹在無需彈出配置的情況下,為 create-react-app 創建的項目添加服務端渲染與代碼分割非同步載入的特性;本文依次介紹了服務端渲染、基於 react-loadable 的代碼分割、服務端代碼分割、利用 Webpack 的 chunkNames 特性等內容。更多 React 學習參考 React 與前端工程化實踐。

Vue Devtools 4.0 新特性介紹: 日前 Vue Devtools 發布了 4.0 大版本更新,引入了一系列的新特性與提升,本文即是對這些變化進行深入解讀。本文介紹的新特性包括了組件數據可編輯、在外部編輯器中打開組件、展示原始組件名、優化組件審查方式、根據組件過濾事件、可伸縮的審查器等;更多 Vue.js 學習資料參考 Vue Reference。

CSS 命名規範,加速你的代碼調試: 維護大型的 CSS 代碼庫並非易事,特別是那些隨意散漫未經組織的 CSS 代碼極易變成一團亂麻;本文則深入淺出地介紹了 CSS 命名規範,來幫助開發者編寫優質的代碼。本文首先討論了連字元與 camelCase,然後介紹了 BEM 的含義與用法,最後討論了如何設置合適的 JS 操作類;更多 CSS 學習資料參考 Web 開發基礎與工程實踐。

純 CSS 的網頁追蹤方案: 我們經常會從用戶訪問的網頁中,採集某些用戶相關的偏好數據,譬如他們對於某些鏈接的點擊情況等等。本文則是提出了一種不使用 JS,純粹依賴於 CSS 來進行網頁追蹤與分析的方案,其依賴於用戶點擊某個鏈接或者懸停在某個元素之後,瀏覽器添加的默認樣式類;該方案目前能夠用於採集用戶的訪問與查看情況,更多 CSS 學習資料參考 Web 開發基礎與工程實踐。

工程實踐

立足實踐,提示實際水平

來自 Slack 的 Webpack 構建性能優化: Webpack 已然是主流的前端打包工具之一,不過其繁榮的第三方插件生態反而會使得,優化 Webpack 的構建性能成為了一件不容易的事情。本文即是來自 Slack 的工程師,分享的他們在重構整個前端過程中累積的,如何優化 Webpack 構建性能的經驗;本文主要從衡量並且分析構建耗時的組成、並行化構建流程、減少構建工作、使用緩存、優化硬體等幾個方面。更多 Webpack 學習資料參考 Webpack Reference。

編寫 Vue.js 單元測試時需要規避的五個陷阱: 單元測試是應用開發中不可或缺的部分,本文作者會循序漸進地,以具體的例子來介紹日常開發中會用到的 Vue.js 單元測試的例子。作者希望在本文中講清楚如何測試、應該測試哪些,並提醒開發者注意避免五個坑:等到最後再測試,測試了不恰當的內容,搞混了 Test Doubles,結構過度耦合,過度追求測試覆蓋率等;更多 Vue.js 學習資料參考 Vue Reference。

深度閱讀

深度思考,升華開發智慧

理解 React 源代碼: React 為我們提供了直接易用的,以狀態為核心的前端應用開發方式,本系列文章則著眼於分析 React 內部工作原理。依次討論了 React 中簡單組件、類組件等渲染流程;更多 React 學習參考 React 與前端工程化實踐。

Node.js 內建模塊載入機制: 本系列文章著眼於分析 Node.js 內部原理,首篇文章討論了 Node.js 的主進程是如何啟動的。接下來作者又分析了在主進程初始化過程中,是如何載入內建模塊的,然後還深度分析了 os 包的實現;更多 Node.js 學習參考深入淺出 Node.js 全棧架構。

不曾了解的 JS 特性: 本文作者在通讀了 MDN 文檔之後,驚訝地發現了很多他不曾了解的 JS 特性與 API;本文即是作者的讀後總結分享,JS 也是學無止境啊。作者在本文中介紹了 Label Statements,void 操作符,Comma 操作符,with 條件操作符,國際化 API,管道操作符,setTimeout 參數等等;更多 JavaScript 學習參閱現代 JavaScript 開發基礎。

開源項目

樂於分享,共推前端發展

After.js: After.js 是類似於 Next.js 的 React 服務端渲染框架,不過其是由了 React Router 作為路由系統,而不像 Next.js 那樣自建路由系統。After.js 同樣踐行了組件即路由的理念,支持基於路由的代碼分割、基於路由的變換、分析、數據載入、數據預載入等。

dialog-polyfill: 上周的清單中我們介紹過 HTML 5.2 中引入的 dialog 標籤,dialog-polyfill 則是由 Google 開源的,dialog 的適配庫。不同於第三方組件或者框架提供的彈窗功能,原生的 dialog 標籤更為簡單易用,並且其可訪問性也更好,瀏覽器也能夠針對該標籤進行優化。

JARVIS: J.A.R.V.I.S. (Just A Rather Very Intelligent System) 是 Webpack 實時監控工具,其能夠將開發環境或生產環境下的 Webpack 構建信息實時展示到瀏覽器中。JARVIS 借鑒了 Webpack Dashboard 等流行的 Webpack 監控工具,然後提供了可優化的 ES Harmony 模塊統計、將資源分割為不同的類別等擴展功能。

1Backend: 1Backend 是自部署的 Serverless 平台,其設計目標是簡化 Lambda 函數與微服務的部署、運行、維護流程。1Backend 使得開發者能夠快速開發服務,其支持 Go,JavaScript,TypeScript,MySQL 等常見的技術棧。

Prisma: Prisma 能夠將資料庫轉化為 GraphQL API;其允許用戶自定義數據模型,然後快速地轉化為可用的 GraphQL 伺服器。Prisma GraphQL API 提供了強大的數據抽象與構建塊,來輔助開發靈活可擴展的 GraphQL 服務端,包括了類型安全的 API,聲明式 DSL 的數據模型、實時介面、與流行前端框架無縫兼容等。

巔峰人生

對話 AI 專家洪亮劼:這次,我們全方位聊聊人工智慧: 洪亮劼,極客時間《AI 技術內參》專欄作者,電子商務平台 Etsy 數據科學主管,前雅虎研究院高級研發經理。長期從事機器學習與人工智慧的基礎以及應用研究,積累了豐富的學術研究和工業實踐經驗,對推薦系統、搜索引擎、計算廣告學、社交網路以及自然語言處理等領域有非常深入的理解。本文從人工智慧的落地、觀點、人才培養與招聘、學習等幾個角度來聊聊人工智慧。

前端之巔


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 前端之巔 的精彩文章:

前端每周清單:NPM 年度報告與 2018 展望

TAG:前端之巔 |