【從實戰帶你認識gulp】打包前端項目並實現防緩存
gulp是什麼? 一個基於node的前端自動化任務構建工具,使用經典回調+鏈式調用的方式實現任務的自動化 (src.pipe(...).pipe),gulp其實和webpack很相似,但是gulp側重點不同,gulp更側重前端流程自動化、任務執行(通過任務使開發提效),就像一條流水線。而webpack則是更側重用於打包前端資源,一切皆可打包成模塊。 官方文檔:https://www.gulp
昵稱 洛陽醉長安行
gulp是什麼? 一個基於node的前端自動化任務構建工具,使用經典回調+鏈式調用的方式實現任務的自動化 (src.pipe(...).pipe),gulp其實和webpack很相似,但是gulp側重點不同,gulp更側重前端流程自動化、任務執行(通過任務使開發提效),就像一條流水線。而webpack則是更側重用於打包前端資源,一切皆可打包成模塊。 官方文檔:https://www.gulp
昵稱 洛陽醉長安行
前戲 我是16年入了前端的坑,17年知道了gulp和rollup這兩個玩意兒。由於那時webpack勢頭很猛,便一直沒有正眼瞧過它一眼。 直到20年進了一家小公司,做了很多類似的小項目,相同的代碼拷來拷去,出現一個bug一堆項目都要改,實在噁心到我了。 於是不得不開始考慮將一些公共的方法和組件提取出來,做成一個第三方庫來維護。而在庫的封裝方面,rollup相對於webpack具有一定的優勢。 在此
昵稱 末日碼農
gulp 是一個使用“流”來實現自動化的工具,正如 官方文檔 首頁展示的這副動圖一樣,以“流動”的狀態去處理 TypeScript、PNG、Markdown 資源。 與webpack比較 類別 webpack gulp 核心理念 module bundler task runner 執行任務 模塊化
昵稱 一顆冰淇淋
gulp 一般用於處理自動化任務,默認情況無法處理模塊化,也不會用於大型項目,但它可以使用各種插件來編譯 html、css、js 等資源。 不清楚如何使用 gulp 開啓任務的朋友可以參考 gulp使用指南 處理html 處理 html 資源使用到 gulp-htmlmin 這個插件,和 webpack中使用到的html-webpack-plugin 比較相似。 // gulpfile.js co
昵稱 一顆冰淇淋
由於網上大多數的博文已經比較久,參考性不大 版本 gulp PS D:\XXX\github\hexo gulp -v CLI version: 2.3.0 Local version: 4.0.2 gulp-imagemin 9.0.0 node PS D:\XXX\github\hexo node -v v20.10.0 PS D:\XXX\git
昵稱 芝士份子
使用 CRXJS 構建 Chrome 插件在 Chrome 瀏覽器升級到 130xxx 版本之後,出現 Content Security Policy 錯誤 一、前言 之前有個老哥找我寫了插件,到現在幾個月過去了,今天早上和我説 Chrome 瀏覽器報錯運行不起來了,但是 edge 瀏覽器沒問題。 就幫忙定位了下問題,發現是 Content Security Policy 的問題導致的報錯; 老
昵稱 月恆
創建項目 npx @react-native-community/cli init 項目名稱 依賴組件 brew update brew upgrade openssl readline libyaml gmp 新版本的macos git clone https://github.com/rbenv/ruby-build.git "$(rbenv root)"/plugins/ruby-bu
昵稱 putao
大家好,我是 V 哥。React Native 是 Facebook 開發的一個開源框架,用於使用 JavaScript 和 React 構建原生移動應用。它允許開發者使用相同的代碼庫為 iOS 和 Android 平台創建高性能、美觀的應用程序。本文將介紹 React Native 的核心技術知識點,幫助初學者快速入門。 1. 環境搭建 在開始使用 React Native 之前,需要搭建開發環
昵稱 威哥愛編程
使用viewport配置,確保完美視口。 meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=no" 關鍵屬性解析: width=device-width:將視口寬度設置為設備寬度 init
昵稱 miadk
本文總結: 文章主要介紹了 React Native 的新架構,包括以下幾個方面的內容:📱✨ 如何抹平 iOS 和 Android 樣式差異,提升跨平台一致性; 分析了舊架構中存在的問題,如通信瓶頸、啓動慢、維護複雜等; 介紹了 JSI 中間層 帶來的變革,如: 不再強依賴 JavaScriptCore 引擎; 可直接在 JS 層調用 Native 方法,提升交互效率; 講解了 R
昵稱 溪抱魚
React Router V7 本身並沒有直接提供內置的路由守衞 API(比如 Vue Router 的 beforeEach),但通過組合其提供的鈎子(如 useNavigate、useLocation)和 React 的組件設計模式,我們可以實現類似的功能,比如權限控制、登錄驗證、數據預加載等場景。 路由守衞 路由守衞是指在路由切換時執行一些邏輯,以決定是否允許導航到目標路由。 常見的場景包括
昵稱 Aion
前言 2020年外賣最火熱的時候,有一篇文章《外賣騎手,困在系統裏》。 作為一個互聯網從業人員,我之前從未有機會體會到,當每一個工作都要被時間和算法壓榨時,我會是一種怎樣的感受。 而最近的一段經歷,我感覺也被困在系統裏了。 起因 如果你是一個研發人員,免不了要值班、處理線上問題。當然這都很正常,每個系統都有bug或者諮詢類的問題。 由於我們面臨的客户比較多,加上系統有一些易用性的問題或bu
昵稱 幸福的鬧鐘
1. 背景 CodePush是微軟VisualStudioAppCenter服務的一個子功能,支持動態下發RN熱更新產物。但是VisualStudioAppCenter 2025/3/31 已經停止服務,如果想繼續使用CodePush需要自己獨立部署。 專門獨立部署一套後台服務,對於個人開發者尤其是客户端開發來説時間成本較高,後期維護也需要投入不少精力,最好還是使用已有的下發平台。 調研了一下發現
昵稱 Polynesia
在舊版本的duxapp,支持主題功能,但是那時候的主體是靜態配置的,並不支持動態切換,新版本,在舊的靜態主題基礎上擴展,實現了動態主題切換 舊版本靜態主題 在之前的版本中已經支持主題功能,在用户配置用,使用模塊的 theme 字段配置主題,像下面這樣 // configs/config/index.js option: { // 基礎模塊 duxapp: { theme: {
昵稱 ShaoGongBra
哈嘍,我是老劉 2024年,全球移動應用下載量突破2570億次。 但開發者面臨的問題是——平台越來越多。 以前只有iOS和Android,現在還有鴻蒙、Web、各種小程序... 每個平台都要單獨開發,成本會翻好幾倍。 不僅如此,用户對體驗的要求越來越高。 他們希望在不同設備上看到一模一樣的界面,享受一致的操作體驗。 原生開發做不到這一點。 因為不同平台的設計規範、開發語言、UI組件都不一樣。 這就
昵稱 程序員老劉
哈嘍,我是老劉 2024年全球移動應用下載量突破2570億次,但開發者面對的現實是:平台越來越多、成本翻倍、體驗難統一。iOS/Android/鴻蒙/桌面端/Web/小程序,各有一套開發與設計規範,原生很難在多設備上做到一致。 跨平台是機會,卻更是選擇題:Flutter講性能、React Native講生態、uni-app講覆蓋、KMP講原生。 如何做好這道選擇題,把有限的資源發揮出最大的效率?
昵稱 程序員老劉
React Native 錯誤處理完全指南 深入解析跨平台應用中的 JS 錯誤、原生崩潰及異常監控方案,附實戰代碼與最佳實踐。 在 React Native 跨平台開發中,錯誤處理是保障應用穩定性與用户體驗的核心環節。不同於純 Web 應用或原生應用,React Native 應用的錯誤來源更為複雜——既包含 JavaScript 層的邏輯錯誤,也涉及 iOS/Android 雙端的原生模塊異常,
昵稱 葡萄城技術團隊
因歷史遺留原因,接手的項目沒有代碼提醒/格式化,包括 eslint、pretttier,也沒有 commit 提交校驗,如 husky、commitlint、stylelint,與其期待自己或者同事的代碼寫得完美無缺,不如通過一些工具來進行規範和約束。 eslint eslint 是一個代碼校驗工具,用來規範項目代碼風格。 初始化 通過 npm install eslint 後使用 npx esl
昵稱 一顆冰淇淋
在軟件開發中,研發效率永遠是開發人員不斷追求的主題之一。於公司而言,在競爭激烈的互聯網行業中,產出得快和慢也許就決定着公司的生死存亡;於個人而言,效率高了就可以少加班,多出時間去提升自己、發展愛好、陪伴家人,工作、生活兩不誤。 提升效率的途徑,無外乎就是「方法」和「工具」。以一個開發者的思維來想,就是將工作內容進行總結、歸納,從一組相似的工作內容中提煉共同點,抽象出解決這一類問題的方法,從而造出便
昵稱 歐雷
中介模式定義了一個單獨的(中介)對象,來封裝一組對象之間的交互。將這組對象之間的交互委派給與中介對象交互,來避免對象之間的直接交互。 在實際的項目中,程序由許多對象組成,對象間的交流錯綜複雜。 隨着應用程序的規模增大,對象越來愈多,他們之間的關係也越來複雜。對象間很容易出現相互引用而導致程序無法運行。同時開發者需要改變或者刪除某一個對象時候,需要查找並且改造所有引用到它的對象。這樣一來,改造的成
昵稱 jump__jump
緩存是提升 web 應用程序有效方法之一,尤其是用户受限於網速的情況下。提升系統的響應能力,降低網絡的消耗。當然,內容越接近於用户,則緩存的速度就會越快,緩存的有效性則會越高。 之前個人寫過 前端 api 請求緩存方案。介紹的了內存中的緩存以及過期邏輯。後續也寫過 手寫一個前端存儲工具庫,該工具利用了適配器處理了不同的存儲介質(內存,IndexedDB, localStorage 等)。 不過,在
昵稱 jump__jump
簡介 腳手架CLI(command-line-interface)是一類快速形成工程化目錄的工具。 開發過程中,如果需要新建前端項目,我們經常都會用到腳手架來創建工程,通過命令行式的交互,可快速選擇選項並完成初始項目的搭建。而CV大法往往會帶來很多重複的刪減工作,且會導致項目分散、架構不統一等等弊端。 常見的主流框架都有自己的腳手架: create-vite @vue/cli create
昵稱 小皇帝James
Signals 在目前前端框架的選型中遙遙領先! 國慶節前最後一週在 Code Review 新同學的 React 代碼,發現他想通過 memo 和 useCallback 只渲染被修改的子組件部分。事實上該功能在 React 中是難以做到的。因為 React 狀態變化後,會重新執行 render 函數。也就是在組件中調用 setState 之後,整個函數將會重新執行一次。 React 本身做不到
昵稱 jump__jump
我以往寫的技術類文章,絕大部分是問題反思、方法論之類的,極少有某個具體技術或工具的介紹與使用教程——除非是我創造的。 眼看着曾經經常針對前端領域問題進行有價值思考與討論的前輩、大佬、同行們接連退隱或沉默,這塊兒的高價值新產出內容越來越少。 因此,我打算自告奮勇地正式接下「對前端領域問題進行思考並儘量產出高價值內容」這個生態位的接力棒。 需要特別説明的是,「前端領域」不侷限於以 HTML、CSS、J
昵稱 歐雷