@Javascript

動態 列表
@zhidechaomian_detxs7

戴着鐐銬跳舞:數字化生存時代如何重建生活秩序?

左手插着輸液管,右手還在瘋狂敲擊鍵盤改方案——25歲設計師小周的第七次急診室加班,換來病歷本上"自主神經功能紊亂"七個大字。這不是個例,而是996、短視頻、信息轟炸三重絞殺下的集體生存危機。本文將帶你看透混亂真相,用數字工具奪回人生掌控權。 一、秩序感崩塌:現代人的精神失重 神經學家實錘,人腦根本不是多線程CPU,當你邊回微信邊寫方案,錯誤率會像坐火箭般飆升——這就是你總忘關燃氣灶的科學解釋

zhidechaomian_detxs7 頭像

@zhidechaomian_detxs7

昵稱 睿智的炒蘑菇

@zhuifengdekukafei

永久免費 + 國密支持!JoySSL 憑什麼成為中小站長新首選?

JoySSL 能成為中小站長新首選,核心在於精準擊中了中小站長 “成本敏感、合規難、技術弱、場景雜” 的四大核心痛點,其 “永久免費” 打破成本壁壘,“國密支持” 解決合規焦慮,再疊加低門檻操作與全場景適配,形成了對中小站長的強吸引力。 一、“永久免費”:擊穿中小站長的成本核心痛點 對個人博客、小電商、初創企業站點等中小站長而言,“省錢” 是首要訴求,而 JoySSL 的 “永久免費” 並非噱

zhuifengdekukafei 頭像

@zhuifengdekukafei

昵稱 追風的苦咖啡

@jdcdevloper

深入跨域 - 從初識到入門 | 京東物流技術團隊

前言 跨域這兩個字就像一塊狗皮膏藥一樣黏在每一個前端開發者身上,無論你在工作上或者面試中無可避免會遇到這個問題。如果在網上搜索跨域問題,會出現許許多多方案,這些方案有好有壞,但是對於闡述跨域的原理和在什麼情況下需要用什麼方案,缺少系統性的説明。大家在工作中可能因為大佬們已經配置好了,不會產生跨域,但是作為一個前端的開發人員,面對跨域的問題,還是需要從原理上去理解跨域的原因,在不同的情況中,我們該如

jdcdevloper 頭像

@jdcdevloper

昵稱 京東雲開發者

@dadehouzi

跨域請求(CORS)如何解決?

1. CORS 產生的原因 CORS 全稱為(Cross-Origin Resource Sharing:跨站資源共享),跨域請求是由於瀏覽器的同源策略(Same-Origin Policy)引起的,那麼 CORS 的產生和瀏覽器的同源策略有關係,我們先了解什麼是同源策略。 2. 什麼是同源策略 SOP 是所有的現代瀏覽器都具備的安全措施,它不允許從一個加載的js腳本和資源的 Origin 域與另

dadehouzi 頭像

@dadehouzi

昵稱 打盹的猴子

@dalidexiaoxiami

什麼是SSL證書?為什麼網站需要它?

以下是關於 SSL證書 及其重要性的詳細解答:  一、什麼是SSL證書? ✅ 基本概念 SSL(Secure Sockets Layer)證書是一種數字文件,由受信任的第三方機構(稱為CA, Certificate Authority)頒發給網站所有者。它的核心作用有兩個: 1️⃣ 加密數據傳輸:在用户瀏覽器與服務器之間建立一條加密通道(實際使用的是更新的TLS協議,但行業仍習

dalidexiaoxiami 頭像

@dalidexiaoxiami

昵稱 蘇彧

@beiniaonanyou

用現有bootstrap的模板,改造成nuxt3項目

為了響應快速開發企業網站,並且能夠適配移動端,完整的使用tailwind css寫一套還挺複雜。 雖然有很多的UI框架,這些框架開發管理系統還可以,有着統一的UI風格,企業網站主要面向C端用户,有着不同設計風格需求,那麼之前的bootstrap佈局的頁面還是很不錯的選擇。 比如就可以在模板王中下載一套項目代碼,通過將內容和文字做一些修改,即可給客户使用。 接下來是改造的過程: 改造最初通過詢問AI

beiniaonanyou 頭像

@beiniaonanyou

昵稱 北鳥南遊

@hello888

【從實戰帶你認識gulp】打包前端項目並實現防緩存

gulp是什麼? 一個基於node的前端自動化任務構建工具,使用經典回調+鏈式調用的方式實現任務的自動化 (src.pipe(...).pipe),gulp其實和webpack很相似,但是gulp側重點不同,gulp更側重前端流程自動化、任務執行(通過任務使開發提效),就像一條流水線。而webpack則是更側重用於打包前端資源,一切皆可打包成模塊。 官方文檔:https://www.gulp

hello888 頭像

@hello888

昵稱 洛陽醉長安行

@morimanong

用 rollup + gulp 造個輪子,別説還挺香

前戲 我是16年入了前端的坑,17年知道了gulp和rollup這兩個玩意兒。由於那時webpack勢頭很猛,便一直沒有正眼瞧過它一眼。 直到20年進了一家小公司,做了很多類似的小項目,相同的代碼拷來拷去,出現一個bug一堆項目都要改,實在噁心到我了。 於是不得不開始考慮將一些公共的方法和組件提取出來,做成一個第三方庫來維護。而在庫的封裝方面,rollup相對於webpack具有一定的優勢。 在此

morimanong 頭像

@morimanong

昵稱 末日碼農

@icecreamlj

gulp使用指南

gulp 是一個使用“流”來實現自動化的工具,正如 官方文檔 首頁展示的這副動圖一樣,以“流動”的狀態去處理 TypeScript、PNG、Markdown 資源。 與webpack比較 類別 webpack gulp 核心理念 module bundler task runner 執行任務 模塊化

icecreamlj 頭像

@icecreamlj

昵稱 一顆冰淇淋

@icecreamlj

gulp來處理html、css、js資源啦

gulp 一般用於處理自動化任務,默認情況無法處理模塊化,也不會用於大型項目,但它可以使用各種插件來編譯 html、css、js 等資源。 不清楚如何使用 gulp 開啓任務的朋友可以參考 gulp使用指南 處理html 處理 html 資源使用到 gulp-htmlmin 這個插件,和 webpack中使用到的html-webpack-plugin 比較相似。 // gulpfile.js co

icecreamlj 頭像

@icecreamlj

昵稱 一顆冰淇淋

@finally_m

React Native 核心技術知識點快速入門

大家好,我是 V 哥。React Native 是 Facebook 開發的一個開源框架,用於使用 JavaScript 和 React 構建原生移動應用。它允許開發者使用相同的代碼庫為 iOS 和 Android 平台創建高性能、美觀的應用程序。本文將介紹 React Native 的核心技術知識點,幫助初學者快速入門。 1. 環境搭建 在開始使用 React Native 之前,需要搭建開發環

finally_m 頭像

@finally_m

昵稱 威哥愛編程

@aion_6356676d25766

React Router V7 路由守衞

React Router V7 本身並沒有直接提供內置的路由守衞 API(比如 Vue Router 的 beforeEach),但通過組合其提供的鈎子(如 useNavigate、useLocation)和 React 的組件設計模式,我們可以實現類似的功能,比如權限控制、登錄驗證、數據預加載等場景。 路由守衞 路由守衞是指在路由切換時執行一些邏輯,以決定是否允許導航到目標路由。 常見的場景包括

@jump_and_jump

利用中介模式開發全局控制器

中介模式定義了一個單獨的(中介)對象,來封裝一組對象之間的交互。將這組對象之間的交互委派給與中介對象交互,來避免對象之間的直接交互。 在實際的項目中,程序由許多對象組成,對象間的交流錯綜複雜。 隨着應用程序的規模增大,對象越來愈多,他們之間的關係也越來複雜。對象間很容易出現相互引用而導致程序無法運行。同時開發者需要改變或者刪除某一個對象時候,需要查找並且改造所有引用到它的對象。這樣一來,改造的成

jump_and_jump 頭像

@jump_and_jump

昵稱 jump__jump

@jump_and_jump

前端持久化緩存優化

緩存是提升 web 應用程序有效方法之一,尤其是用户受限於網速的情況下。提升系統的響應能力,降低網絡的消耗。當然,內容越接近於用户,則緩存的速度就會越快,緩存的有效性則會越高。 之前個人寫過 前端 api 請求緩存方案。介紹的了內存中的緩存以及過期邏輯。後續也寫過 手寫一個前端存儲工具庫,該工具利用了適配器處理了不同的存儲介質(內存,IndexedDB, localStorage 等)。 不過,在

jump_and_jump 頭像

@jump_and_jump

昵稱 jump__jump

@thjjames

前端腳手架(簡易版)搭建攻略

簡介 腳手架CLI(command-line-interface)是一類快速形成工程化目錄的工具。 開發過程中,如果需要新建前端項目,我們經常都會用到腳手架來創建工程,通過命令行式的交互,可快速選擇選項並完成初始項目的搭建。而CV大法往往會帶來很多重複的刪減工作,且會導致項目分散、架構不統一等等弊端。 常見的主流框架都有自己的腳手架: create-vite @vue/cli create

thjjames 頭像

@thjjames

昵稱 小皇帝James

@jump_and_jump

聊聊前端框架的未來 Signals

Signals 在目前前端框架的選型中遙遙領先! 國慶節前最後一週在 Code Review 新同學的 React 代碼,發現他想通過 memo 和 useCallback 只渲染被修改的子組件部分。事實上該功能在 React 中是難以做到的。因為 React 狀態變化後,會重新執行 render 函數。也就是在組件中調用 setState 之後,整個函數將會重新執行一次。 React 本身做不到

jump_and_jump 頭像

@jump_and_jump

昵稱 jump__jump

@apifox

構建卓越 HTML API 的關鍵步驟

作為 JavaScript 開發者,我們經常忘記並不是所有人都像我們一樣瞭解 JavaScript,這被稱為知識的詛咒:當我們精通某個內容的時候,我們就不記得自己作為新人的時候有多麼困惑。我們總是對其他人的能力估計過高,因此我們覺得,自己寫的類庫需要一些 JavaScript 代碼去初始化和配置也很正常。然而,一些用户卻在使用過程中大費周折,他們瘋狂地從文檔中複製粘貼例子並隨機組合這些代碼,直到它

apifox 頭像

@apifox

昵稱 Apifox

@kevinzhw

前端工程化實踐:Monorepo與Lerna管理

前端工程化實踐中,Monorepo(單倉庫)管理和Lerna是兩種流行的方式,用於大型項目或組件庫的組織和版本管理。 Monorepo簡介 Monorepo(單倉庫)是指在一個Git倉庫中管理多個相關項目的開發方式。這種方式的優點在於: 集中式管理:所有項目都在一個倉庫中,方便代碼共享、版本同步和協同開發。 模塊化:可以創建獨立的模塊,方便複用和維護。 統一的CI/CD:一次配置,全倉

kevinzhw 頭像

@kevinzhw

昵稱 天涯學館

@icecreamlj

Node.js 構建命令行工具:實現 ls 命令的 -a 和 -l 選項

在日常的前端開發中,我們常常藉助各種基於 Node.js 的腳手架工具來加速項目搭建和維護,比如 create-react-app 可以一鍵初始化一個 React 項目,eslint 則幫助我們保持代碼的整潔和一致。而在公司內部,為了更好地滿足特定業務的需求,我們往往會構建自己的腳手架工具,如自定義的 React 或 Vue 框架、內部使用的代碼檢查工具等。本篇文章來和大家分享一下如何用 Node

icecreamlj 頭像

@icecreamlj

昵稱 一顆冰淇淋

@icecreamlj

命令行應用開發初學者指南:腳手架篇、UI 庫和交互工具

在日常的前端開發工作中,我們經常依賴各種命令行工具來提高效率和代碼質量。例如,create-react-app 和 eslint 等工具不僅簡化了項目的初始化過程,還能自動執行代碼檢查和格式化任務。當我們使用這些工具時,它們通常會通過一系列互動式的問答來收集必要的信息,從而根據我們的選擇進行相應的配置和安裝。 以 eslint 工具為例(如下圖所示),當你首次運行 eslint --init 命令

icecreamlj 頭像

@icecreamlj

昵稱 一顆冰淇淋

@seanshi_fe

npm workspaces 已經夠強了,為何還需要 MonoRepo 方案?

隨着項目規模的增長和模塊化需求的增強,MonoRepo(單一代碼庫)的管理方式正在成為熱門選擇。本文將帶領你瞭解 MonoRepo 的形成背景,探討主流解決方案(如 pnpm workspaces、TurboRepo、Nx 和 Rush),並通過對比分析這些工具的優劣與適用場景,最終幫助你選擇最適合的工具。 MonoRepo 的形成背景 隨着項目複雜度和團隊規模的擴大,傳統的單體代碼庫或多代碼庫(

seanshi_fe 頭像

@seanshi_fe

昵稱 Sean

@icecreamlj

提升開發體驗:基於 JSDoc 的 React 項目自動代碼提示方案詳解

需求背景 主管和其他同事基於公司的業務特點,開發了一套自研前端框架。技術選型是 React + JavaScript 的組合,上線後表現還不錯。現在他們想把這個組件庫推廣到其他團隊使用,所以讓我琢磨一下:怎麼能讓使用者用得更順手一點?尤其是能不能在寫代碼的時候有自動提示? 我調研了一下市面上常見的幾種方案,大致有以下幾類: 把整個項目從 JavaScript 重構為 TypeScript,這樣

icecreamlj 頭像

@icecreamlj

昵稱 一顆冰淇淋

@danjuanfe

面試官:講一下如何終止一個 Promise 繼續執行

我們知道 Promise 一旦實例化之後,狀態就只能由 Pending 轉變為 Rejected 或者 Fulfilled, 本身是不可以取消已經實例化之後的 Promise 了。 但是我們可以通過一些其他的手段來實現終止 Promise 的繼續執行來模擬 Promise 取消的效果。 Promise.race 我們都知道 Promise.race 方法接收多個 Promise ,一旦這些 Pro

danjuanfe 頭像

@danjuanfe

昵稱 前端蛋卷