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

前端項目構建工具

發布時間: 2023-01-18 18:49:03

『壹』 干貨分享!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前端開發工具的全部推薦,大家要是想提高自己的工作效率,現在就趕緊用起來吧!

『貳』 前端構建工具和打包工具有啥區別

Webpack是一個前端模塊化方案,更側重模塊打包。我們可以把開發中的所有資源(圖片、js文件、css文件等)都看成模塊,通過loader(載入器)和plugins(插件)對資源進行處理,打包成符合生產環境部署的前端資源。
Webpack就是需要通過其配置文件(Webpack.config.js)中 entry 配置的一個入口文件(JS文件),然後在解析過程中,發現其他的模塊,如scss等文件,再調用配置的loader或者插件對相關文件進行解析處理。

兩者區別

雖然Gulp 和 Webpack都是前端自動化構建工具,但看2者的定位就知道不是對等的。Gulp嚴格上講,模塊化不是他強調的東西,旨在規范前端開發流程。Webpack更明顯的強調模塊化開發,而那些文件壓縮合並、預處理等功能,不過是他附帶的功能。

以上就是介紹的前端構建工具 Gulp 和 Webpack,以及兩者之間的區別。如今互聯網發展迅速,Web前端人員也應該與時俱進的不斷學習。

『叄』 對於前端開發我們需要什麼樣的工具

作為一個前端開發工程師,使用一款自己上手且功能強大的開發工具是非常重要的,但是面對這么多開發工具,到底哪個比較好呢?下面我個人推薦幾款自己感覺還不錯的前端開發工具,希望作為大家的參考。
1、hbuilder
作為一個編程的菜鳥,對於英語真的是有心無力,尤其是一些國外的開發工具都是英文界面,我就非常的不喜歡。hbuilder是國產的一款前端開發工具而且是免費的,對於英語不好的前端工程師是一個不錯的消息。hbuilder的官方大致是這么解釋為什麼要開發hbuilder的:HTML最開始其實不是一個編程語言,確實用不著什麼ide。但是發展到現在,7w多個語法,js越來越龐大,真開發一個達到原生水準的App,不是用以前的文本編輯器能搞定的。

目前竟然沒有一個開發工具能把7w多HTML5語法提示齊全,這不科學,在原生開發里這是不可想像的,xcode之於iOS,eclipse之於Android,vs之於winphone,在語法提示、轉到定義、重構、調試等方面都非常高效。作為同時熟悉原生和HTML5開發的我們,我們在開發HTML5時明顯感受到效率低下。於是有了hubuilder。確實是hubuilder支持左右的前端語法代碼提示,這個是我最喜歡的它的一個原因,而且還有強大的其他語言支持和開發webapp等功能,強大到沒朋友。缺點也是有一些的,就是其有些穩定,有時可能會有些卡頓的現象,希望官方修復。

2、sublime text
sublime text是一個輕量級的編輯器,也是支持各種編程語言,sublime text所有的強大功能都是支持插件的,而且快捷鍵十分的好用,可以極大的減少開發的勞動程度,使用sublime就是要使用其快捷鍵和插件。該軟體的優點的輕量級但是功能強大,缺點是對於項目的管理等不是很方便,代碼提示不如hubuilder強大。

3、dreamwave
這是一款很經典的前端開發工具了,以前人們使用的是它的可視化開發工具,但是現在它只能是作為一個代碼編輯器來使用的,當然一些可視化的功能現在也是用的上,如要插入Flash視頻等還是使用可視化簡單一些,畢竟不是所有人都能純手寫哪些意義不大的代碼,優點是人們熟悉穩定,支持一些可視化的插入操作,缺點是代碼提示不好,不能進行快速的開發只能是作為學習使用。

總結:以上只是前端開發工具中個人比較熟悉的,除此之外還有很多優秀的前端開發工具如webstorm等,大家可根據自己的喜好選擇自己習慣的工具進行開發。

『肆』 Vite入門教程-下一代前端開發與構建工具

直接點說,現市面上的構建工具太慢了(webpack 、 Rollup 和、 Parcel等),Vite直接利用瀏覽器原生的 ES模塊使構建速度更快

使用 NPM:

使用 Yarn:

然後按照提示操作即可!

你還可以通過附加的命令行選項直接指定項目名稱和你想要使用的模板。例如,要構建一個 Vite + Vue 項目,運行:

在安裝了 Vite 的項目中,可以在 npm scripts 中使用 vite 可執行文件,或者直接使用 npx vite 運行它。下面是通過腳手架創建的 Vite 項目中默認的 npm scripts:

可以指定額外的命令行選項,如 --port 或 --https。運行 npx vite --help 獲得完整的命令行選項列表。

當以命令行方式運行 vite 時,Vite 會自動解析 項目根目錄 下名為 vite.config.js 的文件。

最基礎的配置文件是這樣的:

注意:即使項目沒有在 package.json 中開啟 type: "mole",Vite 也支持在配置文件中使用 ESM 語法。這種情況下,配置文件會在被載入前自動進行預處理。

你可以顯式地通過 --config 命令行選項指定一個配置文件(相對於 cwd 路徑進行解析)

因為 Vite 本身附帶 Typescript 類型,所以你可以通過 IDE 和 jsdoc 的配合來實現智能提示:

另外你可以使用 defineConfig 工具函數,這樣不用 jsdoc 註解也可以獲取類型提示:

Vite 也直接支持 TS 配置文件。你可以在 vite.config.ts 中使用 defineConfig 工具函數。

如果配置文件需要基於(dev/serve 或 build)命令或者不同的 模式 來決定選項,則可以選擇導出這樣一個函數:

需要注意的是,在 Vite 的 API 中,在開發環境下 command 的值為 serve(在 CLI 中, vite dev 和 vite serve 是 vite 的別名),而在生產環境下為 build(vite build)。

如果配置需要調用一個非同步函數,也可以轉而導出一個非同步函數:

覺得效果不錯的請幫忙加個關注點個贊,經常分享前端實用開發技巧

『伍』 對於前端自動化構建工具有了解嗎

gulpjs是一個前端構建工具,與gruntjs相比,gulpjs無需寫一大堆繁雜的配置參數,API也非常簡單,學習起來很容易,而且gulpjs使用的是nodejs中stream來讀取和操作數據,其速度更快。如果你還沒有使用過前端構建工具,或者覺得gruntjs太難用的話,那就嘗試一下gulp吧。

『陸』 前端構建工具webpack有什麼缺陷

1.文檔缺失,尤其中文文檔

長期以來webpack官方文檔和example匱乏,提供的一些例子都是很簡單那種,經常發現完全按照例子來配置但就是跑不起來,中文文檔就更不用說了,少的可憐。這個問題也直接導致下面的第2點。
2.配置難&難調試

稍微復雜一點的項目,如果使用webpack編譯,不經過一段痛苦不堪的配置調試過程是沒法正常跑起來的。這還沒完,在自己機器上跑起來之後可能到了另一個同事哪兒又報錯了等等。總之正如下面有人回答那樣,配置文件一旦跑起來,是根本不敢去改的,生怕又出錯。
webpack的錯誤提示也非常難看懂,基本不可能從錯誤很直觀的找到原因,長期以來碰到問題只能靠猜,你沒看錯,就是靠猜!!
3.編譯慢
經驗不足的同學很容易碰到這個問題,當然可以通過一些手段做優化,比如配置mole的resolve、root等,使用happypack加速、dll提前編譯等等。但是筆者曾經嘗試過happypack,對編譯速度有提升但效果不明顯,dll的話我有按照官方文檔的做法去做,但是最終編譯出來又報了一些莫名其妙的錯(也有可能是代碼寫的有問題),總之心累,後來直接改成externals方式,全局script引入第三方庫。
4.對server-render不友好
webpack本質上還是靜態打包,意思就是打包完成之後其實文件的載入順序已經固定,只是被載入的時間不定而已。所以使用webpack原則上不存在按需載入之類的說法,code split其實是人工分隔,但是真實的按需載入場景豈是人工能枚舉完的 (下劃線這句話不太好解釋,也不想過多解釋,熟悉前端工程的人應該都明白啥意思)。
在這里我要說的對server-render不友好其實是指html的處理,webpack其實是通過在js里用require標記資源然後載入任意資源(css、圖片、fonts等等),但其實html文件才是頁面真實的入口,最終編譯出的js還是需要引入到html里,為了防止css懶載入導致頁面抖動,編譯完的css還需要從js里邊提取出來放到html外鏈。

目前一般都是通過html-webpack-plugin來做這個事情,先搜集某個html所引用的靜態資源最終自動插入到html。這種方式對於前端渲染的應用沒有問題,但是對於server-render的那就不行了,因為server-render下html是作為模板由後端語言吐出,而開發模式下(例如webpack-dev-server)webpack是不會輸出任何文件的(開發環境webpack是將文件放到內存然後在路由層自動serve了),所以這會導致開發環境模板無法引用靜態資源。當然,有一種解決方案就是靜態資源不改變文件名稱,預先寫好路徑,開發環境和生產環境同名(即覆蓋式發布)。

『柒』 Vue3-前端構建工具(Vue-Cli和Vite) & 計算屬性 & 偵聽器

vue3使用環境:Vue CLI 4.x以上,Node.js版本 8.9以上。

main.js

Vite 是一個 web 開發構建工具,由於其原生 ES 模塊導入方式,可以實現閃電般的冷伺服器啟動。使用 Vite 可以快速構建 Vue 項目。
Vite 需要 Node.js版本 12.0以上。

在Vue3中,定義計算屬性,需要引入computed組合式API。computed()函數的參數是一個回調函數,回調函數的返回值,就是計算屬性的返回值。

在Vue3中,定義偵聽器,需要引入 watch組合式API
watch函數 有三個參數:① 偵聽誰,② 回調函數,③ 配置對象(可以省略)。如果監聽的是一個對象/對象里的某個屬性,第一個參數就是一個函數,由該函數返回指定對象中監視的屬性。
注意: watch監視對象,默認開始深度監視,並且無法關閉。所以直接監視整個對象不好。vue3建議我們,監視對象時,指定監視對象的屬性。如果監視的對象屬性也是一個對象,默認不開啟深度監視,需要手動開啟。

watchEffect()監視器: 只有一個回調函數參數,並且沒有參數。特點:① 該回調函數一開始會執行一次;② 不需要明確的去監視誰,回調函數裡面用到了誰,誰變了,就會重新執行回調函數。

在Vue2中可以定義過濾器,但是在Vue3中已經取消了過濾器。Vue3推薦我們使用方法 或 計算屬性的方式,實現之前過濾器的效果。

在vue3的模板中,不再需要根標簽,它內部有一個fragment的組件作為模板的根標簽。

『捌』 前端構建工具Gulp.js 你知多少..(webpack/gulp/grunt)

@ TOC

閱讀本文章之前,相信你已經對前端構建工具(webpack、gulp、grunt)有一定的認知和了解了,那麼他們之間究竟有什麼區別呢?

gulp文檔上面有這么一句話 ,也就是說 gulp是一個自動化構建工具;
gulp的一些功能如下(包括但不限於):

其實Webpack和另外兩個並沒有太多的可比性

傻瓜式起步照搬官網文檔
1.安裝

2.在項目根目錄下創建一個名為 gulpfile.js 的文件:

3.運行 gulp:

默認的名為 default 的任務(task)將會被運行,在這里,這個任務並未做任何事情。
具體詳情可以查看 gulpjs.com文檔

新建一個項目gulp-test
環境:

1.新建文件以下文件如下

其中 gulpfile.js 是我們gulp的配置文件,啟動gulp默認會找個這個文件並執行;
2.接下來安裝依賴

一直按回車Enter初始化package.json文件(小技巧: npm iniy -y 可以免去繁瑣的enter步驟)
此時我們的目錄結構是這樣了

安裝依賴

這里頁面實時刷新只講這個 gulp-connect ,其他詳情可以參照 Browsersync 和文章 gulp-livereload

安裝完依賴後配置gulpfile.js如下:

大概講解一下gulpfile.js:

gulp.task 是gulp的api 定義一個使用 Orchestrator 實現的任務(task)
如上我們定義了 my-task-js my-task-css html clean default watch server 等任務,其中:

my-task-js 是將 符合所提供的匹配模式的js 進行檢測(gulp-jshint)、壓縮(gulp-uglify)、合並(gulp-concat)、重命名(gulp-rename)、輸出(gulp.dest)到/dist/js目錄下;

my-task-css 是將 符合所提供的匹配模式的sass進行編譯(gulp-sass)、壓縮(gulp-uglify)、合並(gulp-concat)、重命名(gulp-rename)、輸出(gulp.dest)到/dist/css目錄下;

html 是將 符合所提供的匹配模式的html進行監聽,如果有變化則connect.reload()

clean 是如果任務重新啟動時 刪除舊文件;

default gulp默認啟動的任務

watch gulp的api 監視文件,並且可以在文件發生改動時候做一些事情。它總會返回一個 EventEmitter 來發射(emit) change 事件。

server 依賴gulp-connect啟動一個伺服器

配置完gulpfile.js之後,我們給js和css及html加點東西:

首先js/helloworld.js

css/index.scss

index.html

運行gulp

瀏覽器效果:

接下來我們修改helloworld.js來看看是否能實時刷新
修改如下:

按保存之後,終端給我們報了一個錯:

查看js發現我們用了es6語法的聲明語句 但當前gulp無法處理es6語法,有問題解決問題,es6=>es5

解決方案:
安裝gulp-babel babel-core babel-preset-es2015

gulpfile.js修改如下:

運行

依然報上面的錯;找了一些原因發現,雖然安裝了相關依賴,卻沒有配置.babelrc文件,即babel還沒轉化es6

根目錄添加.babelrc文件

重新運行:

查看dist下的js文件

改變helloworld.js檢查頁面是否刷新

保存,頁面的天空藍換成你們喜歡的yellow顏色

修改index.scss 查看是否會刷新頁面

最後修改index.html 查看是否會刷新頁面

今天主要學習了gulp的簡單項目搭建及實時更新配置;其實gulp類似於grunt的弱化版,但更簡單好用,只是插件會少一些,目前主流的項目搭建工具主要是webpack,但依然有不少項目還用著gulp或者grunt

擴展:

下面還有一些樓主的學習筆記:

有興趣的可以多多交流@ 樓主博客

『玖』 使用requirejs搭建前端項目

本文主要是講述如何使用requirejs這個模塊化管理工具來搭建前端項目結構,適合內網開發以及還在使用比較舊的技術棧(如jQuery)的前端同學。
github地址: https://github.com/wenbin0316/Requirejs-demo.git ,如果對你有幫助,請點個star,謝謝!
requirejs的使用我就一筆帶過,主要是講如何搭建項目結構。
項目基本目錄結構如下:

在index.html中引入requirejs本身以及主js文件:

index.js定義了模塊的名稱和路徑,以及模塊所需的依賴,並調用了main模塊的start方法:

main.js為應用主模塊,調用main.start()執行應用初始化,所有的dom創建都在模塊內部處理,index.html中只有一個div#main的dom元素。main.js內容如下:

同時在main.js中調用了header模塊的start方法。

項目結構按照該思路一層一層構建,簡單明了,當然也可以根據個人習慣提取出一些通用的組件,本文就不再贅述。