當前位置:首頁 » 網頁前端 » 前端干貨
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

前端干貨

發布時間: 2023-01-30 05:20:08

前端小萌新必知必會 之 實現自定義Gulp插件

隨著 node 的出現, javascript 的舞台越來越大,能做的事情越來越來。

本篇,我們來聊一聊前端工程化構建工具 Gulp , 並定製符合特定需求的 Gulp 插件 。

Gulp是一個自動化和增強工作流的工具包利用Gulp和JavaScript的靈活性來自動化緩慢、重復的工作流,並將它們組合成高效的構建管道。

廢話說完,接下來,都是干貨啦!

完全展開以後是這樣的

注意, 如果希望 gulpfile 文件也能寫es6 語法, 需要裝個庫: yarn add @babel/register。所有已配好,此處用的是 gulp.babel.js

下面一個一個來分解:
package.json
先用 yanr install 裝一下需要用到的包

1. 關於 gulp 的pipe
pipe 意味管道, 很好理解,文件流通過 pipe 管道, 那麼就可以在這個過程中對文件流進行操作,定製自己的需求。 所有的處理都是在 pipe 中進行的。例如上圖中的例子,

!!那麼同理: 我們也可以加入自己寫的 gulp 插件 對文件流進行處理
2.實現
我們先來實現一個很簡單的功能, 比如 在所有的 js 文件里添加註釋 this is js, 在所有css 文件里添加註釋 this is css, 在所有其他類型的文件里添加 this is other。 具體實現如下:

selfPlugin.js

❷ 前端要懂的知識是不是太多了 知乎

作者:小爝
鏈接:https://www.hu.com/question/24092572/answer/39454494
來源:知乎
著作權歸作者所有,轉載請聯系作者獲得授權。

1,知乎有很多標準的前端架構師,他們身上你如果細心是能夠發現共性的,我比較認同的有winter和賀師俊還有張雲龍這三位。其他沒提到的可能我不太關注,知乎高手很多,但是能達到架構師的其實不多,最多算是高工,或者某一領域專業的牛人,我覺得就像前3位提到的大神,他們的編碼能力過硬,演算法能力,計算機基礎知識都沒的說,許多回答都是干貨,有理有據,show me code風格的,而且解答不會模糊,直接簡要,能做到這些必須是肚子里有貨,我覺得這算是硬體基礎。

2,編碼能力好,熟悉各項標准,演算法好,API熟練,就能成為前端架構師了么?不不,這些只能說你是個高工,你說你自己寫了許多框架和開源包,各種功能,前後端都有?no no no,也是最多算是高工而已。至少我是這樣認為,為什麼呢?因為你踩的坑決定了你架構的能力,你的硬體基礎只決定了你遇坑之後的解決能力。

打個比方,前端工作3年,一直在電商領域,或者一直在做sns,或者一直在做webview里的開發,這種經驗是不具備前端架構能力的,什麼?都是寫js?沒區別?錯了,你讓一個寫了3年電商框架的人去寫一個斗魚tv或者搜狐視頻試試,寫是能寫出來,但是選型問題真不會是最佳,因為他踩的坑一定沒有專注這個領域的人多。什麼是架構能力?其實說白了就是幫助最後項目順利開發完成,易擴展,好維護,有規范,能解決一些剛開始人看不到的麻煩。這些能力都是從一個一個真實得項目中鍛煉出來的,而不是說只做了一家公司的一個項目之後就可以說自己是前端架構師了。。

說的比較亂,其實簡單比方就是個經驗包的問題,你的經驗比你的技能更大的決定了你的架構能力。

3,溝通表達能力,這個其實不是特別重要,但是單獨拿出來說,就是因為如果你的想法不能在團隊有效的執行下去是不行的,你必須也一定是最後說服團隊使用你的方案的人。

所以最後,回到up主問的問題上來。

❸ 前端如何做TDD

在我經歷過或者聽過的國內項目中,前端一般連單元測試測試都沒有,感覺單元測試在前端開發中是一個謎,說實話我對這個問題沒有做過多的研究。

從軟體工程層面來說,前端UI層的測試價值高不高是我們要去權衡的一個點。如果只是UI展示,由於展示的變動通常會比較頻繁,目前我了解到的對它寫測試的項目不多。

從技術層面來看,前端的測試也是完全可以寫的,現在一些前端框架,比如Angular或ReactJS在分層和模塊化設計上做得相當不錯了,有了分層和模塊化後,將展示層和邏輯層進行了分離,加上一些測試框架( jest 、 jasmine 、 mocha 、 chai 等等)的加持,讓單元測試寫起來沒那麼困難,慢慢地,更多的團隊也願意嘗試給邏輯層加上單元測試。如果單元測試好編寫變得容易起來,那麼結合TDD的思維和姿勢,也就能做TDD了。

另外,已有ThoughtWorks同事謝寶龍,寫了一遍關於 前端TDD的干貨文章

❹ Svg 前端實踐總結

本文是學習和使用svg的一些總結,不介紹svg作圖的方法。
svg標簽元素參考: MDN - svg
結構化標簽也可參考: SVG中的結構化、分組和引用元素
svg的icon方案,參考: 騰訊干貨!超實用的高清圖標SVG解決方案全總結(下)

svg與普通html元素不同,需要指定命名空間,所以使用 createElement() 、 appendChilde() 抑或JQ的 append() 方法添加到dom上的svg元素是無法正常顯示的。需要用到 createElementNS(ns,'svg') ,另外有些svg標簽也需要單獨的命名空間,例如a標簽。為了避免每次添加這么長的命名空間,使用時可以簡單包裝下( NS_SVG 、 NS_XLINK 分別為svg和a標簽命名空間):

SVG如果是嵌套在HTML中的話,即使用svg標簽,會和其他dom元素共用一個document對象,因此可以直接通過該對象來獲取到SVG元素對象;如果使用object、embed、iframe標簽來引入svg,則其中的內容會有自己document對象,此時的操作需要藉助 getSVGDocument() 方法:

對於object、iframe來引入的svg對象,還可以使用 contentDocumnet 屬性來獲取。當然,contentDocument不是專為svg設計的,同時可以獲取其他內嵌xml、html對象。
操作的前提需要滿足 同源策略(Same-origin policy) ,跨域將無法獲取document對象。

平移和縮放表面看起來很簡單,svg的平移縮放機制也不復雜,但是dom元素往往不固定寬度,應用場景也多變。例如有時候我們希望隨瀏覽器響應,svg按照比例自動縮放;有時候我們希望為svg添加手動縮放功能或者手動拖拽平移功能(類似於網路地圖的縮放平移機制)。
關於svg的viewBox相關知識,張鑫旭有篇文章講的很詳細: 理解SVG viewport,viewBox,preserveAspectRatio縮放 。這里談談在具體的應用場景中如何利用這些屬性。

❺ 前端工資怎麼樣前端哪裡可以學

我們在選擇web培訓班的時候需要注意哪些問題呢?可以大致總結起來有以下幾個方面:

第一點:web前端的課程內容是如何的。

  • web前端是最近兩年才發展起來的新興技術,發展速度是特別快的,基本上每年都會有新的變化和技術,所以首先要考察的就是web前端培訓機構的課程大綱是如何設置的,是不是會定期更新的。例如現在大概課程一般包括html5、css3、JavaScript、jQuery,但其它如vue、react、小程序的一些前端技術也是十分吃香的,再考察課程的時候也可以重點關注一下。

第二點:師資和學習環境,這也是我們在學習web前端的過程中接觸最多的兩個方面。

  • 如果沒有好的師資,不論課程安排得再怎麼合理,web前端師資沒有辦法把它完全將給我們學員,學員無法理解或者是理解不透徹,也是不行的,另外一點就是師資自己有沒有相關開發的工作經驗,可以將課程通過自己的理解將給我們,也能讓我們web前端知識理解得更為透徹。

  • 學習環境這點其實大家也都明白,畢竟我們要在這個地方學習4到5個月的時間,要是再去特別遠的地方,來迴路上耽誤的時間得不償失,所有最好找能提供住宿的web前端培訓機構,像中公優就業,就提供學習期間的住宿和飲食等問題,可以讓大家不用想其它的事情,只需要安心學習web前端知識。

第三點:價格、性價比和最後的就業方面。

  • 比如說有的培訓機構學費很便宜,但是學完之後,還是沒有辦法找到工作,還需要再去學一些別的內容,這種就不太合適的。就業方面主要是去看之前的學員的就業情況,最好是能找到和自己情況差不多的學員來進行了解一下,基本上就能了解自己之後的就業情況。

Web前端崗位就業方向廣,發展前景好,那麼就業薪資也同樣不斷攀升,根據第三方平台職友集的數據顯示,北京Web前端工程師平均工資平均月薪 17290元,按工作經驗統計,其中應屆生月薪10110元,1-3年工資月薪13640元,5-10年工資月薪23340元,按照這個趨勢發展,隨著自身技術的不斷提升,薪資也是水漲船高的。

❻ web前端怎麼自學,有什麼好的網站,或者資料推薦嗎

隨著Web前端的風行於世,有許多小夥伴加入了前端開發行業,但是有很多小夥伴想學Web前端很久了
首先,Web工程師要入門必須要了解前端、後端、後台的基本概念,同時要了解基本的html、css和javascript語法,最後根據設計師的設計圖在不考慮兼容性的情況下把頁面做出來。
其次,你可以把html、css和javascript分成三個階段進行學習。
第一階段:HTML的學習
Html是超文本標記語言,英文全稱為HyperText Mark-up Language,這是一個網頁的骨架。靜態網頁還是動態網頁,最終返回到瀏覽器端的都是HTML代碼,瀏覽器將HTML代碼解釋渲染後呈現給用戶。
當然,學習html過程是比較枯燥乏味的,所以你需要更有效的學習策略。依w3cschool看來,你可以藉助Dreamweaver的「拆分」視圖輔助學習。在「設計」視圖中看效果,在「代碼」視圖中學本質,將各種視圖的優勢發揮到極致,想必會比單純記憶HTML標簽和屬性有趣、有用的多吧?
第二階段:CSS的學習
CSS是英文Cascading Style Sheets的縮寫,叫做層疊樣式表,是能夠真正做到網頁表現與內容分離的一種樣式設計語言。
學習css建議可以看相關的一些書籍,如《CSS權威指南》(很詳細、很經典!)、《CSS揭秘》 《精通CSS:高級Web標准解決方案》,博客和專欄等也可以瀏覽。
第三階段:JavaScript的學習
JavaScript是一種在客戶端廣泛使用的腳步語言,在JavaScript當中為我們提供了一些內置函數、對象和DOM操作,進而實現客戶端的特效、驗證、交互等。
建議可以看《javascript語言精粹》,js是一門很混亂的語言,這本書能夠幫助你區分哪些是語言的精華,哪些是糟粕。如果是精華部分,我們在後續進階部分可以深入研究,而如果是糟粕部分,那麼只要大概看懂別人寫的渣代碼就可以,自己還是不要嘗試為妙。
通過這三個階段的學習,我們就可以往更高級的web前端工程師進階了!
這里給你推薦5個網站供你學習

博客園
一個面向開發者的知識分享社區,一個IT技術人員想為IT技術人員們提供一個純凈的技術交流空間,博客園很長時間只有一個不能再簡單的博客,近四年,博客園僅靠一個人幾年工作的積蓄在維持。
芯晴素材網-網頁特效代碼
是一個集各種網頁素材以及網頁源碼為一體的面向開發人員的一個網頁素材網站,如果你想要學習前端頁面開發,這里,將是一個很好的起點。
jquery中文網
前端所能涉及領域的干貨文章,包括:Jquery、腳本編程、資料庫、伺服器技術、操作系統、建站教程。
菜鳥教程
網站HTML、CSS、Javascript、PHP、C、Python等基礎編程教程,同一個知識點有多篇不同角度的文章可供參考學習,資源免費,會實時更新站內文章。
jquery插件庫
各種前端程序員能用到的插件,喜歡研究新東西的自學者可以在這個網站里挖掘各種小插件。
以上的回答希望對你有所幫助

❼ 干貨分享!Web前端開發工具有哪些

1、EnjoyCSS


EnjoyCSS 是一款非常簡單的工具,尤其對於不擅長使用CSS的前端開發者來講。它為用戶提供了簡單的 UI,讓用戶可以設計元素,並提供對應的 CSS 輸出。



2、Postman


在前端開發的過程中,Postman可以說是必備的開發工具之一。它能在後端檢查端點,而且非常好用。它的出色表現讓我把它放到了這里。它包含的端點包括 GET、POST、DELETE、OPTIONS 和 PUT 之類。可以稱之為絕對不能錯過的一款工具。


3、Bit.dev


軟體開發的一項基本原則是代碼可重用性。這可以減少你的開發工作,因為你無需從頭開始構建每個組件。這正是 Bit.dev 所做的。它使你可以共享可重用的代碼組件和代碼片段,從而減少開銷並加快開發流程。它還允許在團隊之間共享組件,這使你的團隊可以與其他團隊更好地協作。


4、StackBlitz


這是所有用戶都比較喜歡的在線 IDE 工具。究其原因主要是它將我們最喜歡和最常用的 IDE引入了 Web 端。這個工具允許你一鍵設置 Angular、React、Ionic、TypeScript、RxJS、Svelte 和其他 JavaScript 框架。一鍵設置這個功能意味著開發者可以在極短的時間內開始編碼。有了StackBlitz,你只需不到幾分鍾的時間就可以試用新的 NPM 軟體包,而無需從頭開始在本地創建項目,這就是他的優勢所在。


以上就是青藤小編關於Web前端開發工具的全部推薦,大家要是想提高自己的工作效率,現在就趕緊用起來吧!

❽ 自學web前端開發,請問從何入手呢

學習前端,要從學習HTML和CSS開始著手。關於這部分的學習,網上可選擇的資料就太多了,這里不一一列舉,題主網路搜索欄搜索HTML 教程,或者css 教程,就可找到相關資料。

接著是學習前端的一個難點、也是重點,就是JavaScript。

首先,初學一門語言,要秉承一個原則:「能動手的,盡量別吵吵」

另外,你需要一個能夠從簡到難的知識體系,一步一步跟下來。

下面是干貨。

體系:上圖。

(四)、工作流(跟JS原生關系不大,不詳細展開了)

  1. webpack

  2. gulp

上面的內容結束後,就可以進入前端框架的海洋中暢遊了。

❾ 零基礎學習web前端難不難

前端還是比較好學的,只要按照步驟慢慢學,多練習就可以
一、Web前端開發所需要的知識技能及學習路徑
1. HTML5 + CSS3 + JavaScript
Web開發基礎中的基礎,HTML是負責網頁結構,CSS負責網頁樣式,JS則負責邏輯交互。前兩者更像是標記語言,沒有什麼邏輯,JS才是前端的重中之重。 HTML5 新增的技術大部分需要結合JS學習。
每個人學習進度可能不同,這個階段主要是多仿站,熟悉基礎,試試用CSS寫響應式頁面,了解JS深入性的知識,比如原型鏈、閉包、 設計模式 等需要更多的積累,逐漸理解並實踐掌握。
2. JQuery + BootStrap + Ajax + Json
jQuery是JS的一個應用庫,能夠提升原生JS開發效率。Bootstrap則是響應式框架,更簡單的實現手機/平板/PC多個設備的頁面支持。Ajax技術用於非同步交互,不刷新頁面就能更新數據,比如 地圖 應用等。Json是一種數據格式,被廣泛應用在各大編程語言中。
jQuery 和 bootstrap 會簡化很多編寫的代碼量,用著不亦樂乎,但對於基礎還不是很扎實的人建議還是少用。 Ajax 和 json 通常用於和後端交互,在實際業務中也經常用到。
3. Git/SVN
版本管理工具,主要用於團隊開發時避免文件沖突,也可回檔。前端推薦學習Git。
4. Nodejs + Mysql /MongoDB(可選)
運行在伺服器端的JavaScript。Express是其拓展MVC框架。其中nodejs最常用到的就是npm包管理器,不用到各個網站去下載資源包。 資料庫 的學習可以選擇MongoDB或者MySQL,前者與Nodejs的契合度更好,不過現在大多數網站都是 PHP +Mysql的組合,如果有學PHP的打算的話,可以先學習 Mysql 。
5. ECMAScript 6
JavaScript 的語言標准。ES6中加入了很多新的概念,也彌補了之前版本中JS的很多缺陷,越來越多的項目開始運用ES6進行開發。學之前最好把ES5先搞懂了,目前實際項目中考慮到兼容性,ES6是需要通過Babel將其編譯為ES5來部署的。
我自己是一名從事了多年開發的web前端老程序員,目前辭職在做自己的web前端私人定製課程,去年我花了一個月整理了一份最適合2019年學習的web前端學習干貨,各種框架都有整理,送給每一位前端小夥伴,想要獲取的可以關注我的頭條號並在後台私信我:前端,即可免費獲取。
6. Angular/React/Vue
前端三大框架,各自也有著各自的生態系統,根據需求自行選擇學習。目前企業需求量最大的仍然是Angular,但近期趨勢來看react和vue則更受歡迎。因為現在前端技術發展太過於突飛猛進,工具和框架的更新比翻書還快,建議學習還是看文檔比較好。學習過程中也會遇到很多用到各種構建工具的時候。
7. 其他常用工具
這個一樣是根據需求自行選擇學習。比較常用的現在有 Web pack,可以將多個不同編程風格的文件打包,比如ES6/AMD/CMD之類的模塊化都能識別並編譯成 瀏覽器 能運行的文件。Sass/Less,CSS預編譯框架,可以用帶有邏輯性的方式編寫CSS代碼。Gulp/Grunt構建工具,可以自動化對代碼進行壓縮合並等工作。
8. 其他後端編程語言
目前市場對前端基本都要求會一門後端語言, PHP / JAVA / Nodejs / Python 等。
學習編程重要的還是實踐,多敲代碼,多去嘗試。獨立解決問題的能力、探究鑽研的精神是必不可少的。有興趣的話也可以自己搭建一個技術 博客 ,往 github 上傳幾個 開源 項目,這些都是不錯的加分點。
一名優秀的程序員 ,不僅僅是程序員 。
二、前端學習注意事項
1、打好基礎
無論做什麼都一定要有扎實的基礎,參加web前端培訓也不例外,只有基礎牢固,才能更深入的學習新技能。作為一名初級的web前端工程師,你必須要具備最基礎的技術要素:HTML,CSS和JavaScript。這是作為web前端工程師所必須要掌握的。Web前端的入門門檻其實很低的,與其他語言先慢後快的學習節奏相比,他是一個先快後慢的過程。所以在前期的學習過程中,你會很容易的掌握其基礎的技能。而隨著HTML5技術的廣泛應用,web前端的學習也會變得更加簡單。
2、注重細節
有句俗語是這樣說的:「細節決定成敗」,很多web前端開發者在工作過程中為了追求速度,而忽略了一些細節性的東西。比如:給代碼加備注,代碼的命名規范,代碼的簡潔等。所有的這些看似不重要,其實卻嚴重影響了項目的進度以及自身能力的提升。在開發過程中,適當的添加備注,能夠加深對技術點的印象,也便於以後在修改的過程中迅速查找;規范的代碼命名能夠方便團隊之間的溝通,提高工作效率;而簡潔的代碼能夠直觀的展現某一塊代碼的作用。
3、不斷加強學習
優秀的web前端工程師之所以優秀,不是因為工作的年限有多久,而是具備快速學習的能力。web前端開發是一個特殊的工作,涵蓋的知識面非常廣,而且互聯網行業技術的更新速度是非常快的,如果沒有快速學習的能力,就很難跟上時代的步伐。所以,作為web前端工程師一定要不斷的學習,提升技能。
作者:邢建
鏈接:https://www.hu.com/question/19637373/answer/824165923
來源:知乎

❿ 前端必須知道的 Nginx 知識

「 關注 前端開發社區 ,回復 ' 領取資源 ',免費領取Vue,小程序,Node Js,前端開發用的插件以及面試視頻等學習資料,讓我們一起學習,一起進步

<figcaption style="margin-top: 5px; text-align: center; color: #888; font-size: 14px;">作者:樹醬 來源: 掘金</figcaption>

當有一台伺服器宕機時,負載均衡器就分配其他的伺服器給用戶,極大的增加的網站的穩定性 當用戶訪問web時候,首先訪問到的是 負載均衡器 ,再通過負載均衡器將請求轉發給後台伺服器

如果檢測出其中某台伺服器異常,那麼在通過客戶端請求 nginx 反向代理進來的都不會被發送到該伺服器上(直至下次輪訓健康檢查正常)

基本例子如下👇

涉及兩個配置:

反向代理的優勢主要有以下兩點:

當你的應用不想直接暴露給客戶端(也就是客戶端無法直接通過請求訪問真正的伺服器,只能通過 Nginx ),通過 nginx 過濾掉沒有許可權或者非法的請求,來保障內部伺服器的安全

也就上一章提到負載均衡,本質上負載均衡就是反向代理的一種應用場景,可以通過 nginx 將接收到的客戶端請求" 均勻地 "分配到這個集群中所有的伺服器上(具體看負載均衡方式),從而實現伺服器壓力的 負載均衡

我們通過模擬內部伺服器的埠啟動的 nodejs 項目設置反向代理到80埠訪問

在 Nginx 反向代理是,會通過 location 功能匹配指定的 URI ,然後把接收到的符合匹配 URI的請求通過 proxy_pass 轉移給之前定義好的 upstream 節點池

建立白名單

修改nginx配置(nginx.conf)

為匹配項做白名單設置

假如我們在程序文件夾下有一個 ngxin 配置文件: /home/app/app.nginx.conf 我們需要給這個文件創建一個軟鏈接到 /etc/nginx/conf.d/ 下:

這樣操作之後,當我們改應用配置文件, /etc/nginx/conf.d/ 下與之對應的配置文件也會被修改,修改後重啟 nginx 就能夠使新的 ngxin 配置生效了。

往期

安利幾個JS開發的小技巧

請各位帥哥美女多多支持帥編,回復「 加群 」即可領取 前端干貨