h5學習筆記:前端打包

這2天做了一個實驗。在非module傳統的網頁,要實現改名和避免緩存。原本這個事情早在幾年前就做過借助gulp的方式或者fis3 的工具來完成。然而隨著nodejs 來到了24版本后,似乎nodejs的版本這事情就變動復雜多變了。

為什么那么麻煩?實際上開發一些靜態的網頁不需要引入到模塊化的開發如import /export的寫法,完全是可以省力氣。然而有時候喜歡折騰,這個情況就遇到一個任務,如何打包?如何完成這樣一個任務。目前能根據工具選擇有vite/rollup rolldown ,webpackgulp,parcel,rspack 這些工具。
在這里插入圖片描述

先說說早期工具,gulp的版本開發已經是落伍了,朋友推薦使用零配置的parcel。這個工具正如傳說一樣,沒有什么配置。雖然官網提供api,我并沒有很細看。但是也遇到一些版本變化的問題。由于ai的喂給的數據過于陳舊。很多時候,在和大模型對話過程,就會遇到各種折騰。一方面確實版本差異化,加上不熟悉。這些就導致打包的時候 parcel 1.x和2.x不同。 經過改成2.x 后才完成這樣一個小小任務。

然后對于vite 也是可以完成這樣一個情況。這個地方有小小改動。如加入module支持,這樣日常當中,寫css 和js 的方式,改成import 導入。這樣打包也會比較快。

在這里插入圖片描述
在這里插入圖片描述
這個只是很小的實驗樣本。利用了import 特性。打包后會出現的方式。這種需要部署到服務器去才能看到。不能直接查看。
在這里插入圖片描述

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>My Vite Site</title><!-- Vite 會自動注入 CSS 和 JS -->
</head>
<body><div id="app"></div><script type="module" src="./src/main.js"></script>
</body>
</html>

這個方式的實驗實際上并不會太難。讓我覺得意外的,如果不用module 那樣寫法。配置起來,哪怕AI 理解起來復雜是有點多余。事情會變得復雜,不是變動輕松。

相反各種webpack 的配置直接 勸退人。在完成非module 網頁,parcel 可以更加便利。宣傳0配置的情況,若果遇到一些改名或者文件夾導出的文件結構,有時候也會不知道如何入手。文檔和官網是有提供。我并不是想去研究這個工具深入去。

在這里大大打了一個疑問?為什么把前端搞得那么復雜,讓人無奈是,打包和構建的工具那么多,一個個又面對nodejs 的折騰。直接打開網頁就能到。這難道不香嗎?

其實有時候,面對復雜多變的模塊化設計訴求。這些構建工具,parcel 還是vite,rolldown,rspack 也是有很多好處存在。

雖然AI的到來,這些復雜版本和工具化,包括各種工具的衰落期是不是到了一個邊緣?統一構建和打包也是一種趨勢了。
在這里插入圖片描述
不得不得提一下nvm 和fnm的工具上,在管理和切換nodejs使用的時候,官方或者社區都有處理這樣的事情。多版本已經不是什么秘密。使用過程和安裝過程。fnm 雖然是rust編寫。使用安裝體驗直接勸退不少人。

nvm 老牌管理工具,雖然nodejs 的版本,早期一些12 版本,早就不維護了。目前面對每年的版本號都會迭代。前端工具似乎變動越加激烈,稍微不慎,版本號就會讓人產生很大老火。package.json 對于每一個庫所依賴的情況。nodejs 并不是越新就越好。社區一旦跟不上。很多工具沒有生態加持下,一個態度就足以讓很多社會化的產品倒下。

rolldown 有更多想法吧。看下一代的打包和構建工具似乎會帶來更多驚喜。個人喜歡在rspack 和rolldown 兩者來回看了。
不知道你喜歡那些了?
但是我選,就簡單傻瓜打包就足夠了。那么多配置很多時候都不愿意去研究。天下對webpack 早已吐槽不止。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/912395.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/912395.shtml
英文地址,請注明出處:http://en.pswp.cn/news/912395.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

14.OCR字符識別

目錄 1. 識別方法 1. OCR識別 2. OCR識別方法1-助手識別 3. OCR識別方法2-算子分割識別 4.文本分割識別 2. 文本分割 1. 借用助手設置參數文本分割+混合識別 2. 借用助手設置參數文本分割場景2 3.不同字符場景 1.傾斜字符 1. 識別方法 1. OCR識別 *OCR *1. 概念 * …

如果將Word里每頁的行數設置成50行

https://www.zhihu.com/question/357856175 本文來自知乎林聽晴 第一步&#xff1a;新建一個Word文檔 打開“頁面布局”&#xff0c;之后點擊圖片圈起來的小圖標&#xff0c;即可出現“頁面設置”頁面。 ? ? 路徑&#xff1a;頁面設置—文檔網絡&#xff0c;可以看到默認行…

WebRTC(十一):RTCP和SRTCP

RTCP 基本概念 RTCP 是 RTP 的控制協議&#xff0c;用于監控媒體傳輸質量和參與者狀態&#xff0c;并與 RTP 一起工作。RTP 用于傳輸媒體數據&#xff08;如音視頻&#xff09;&#xff0c;RTCP 則用于傳輸控制信息。 RTCP 通常和 RTP 同時使用&#xff0c;并通過 不同端口&…

將element-plus table背景改成透明色

方法一:全局修改(推薦) /* 全局透明表格樣式 */ .el-table, .el-table__header-wrapper, .el-table__body-wrapper, .el-table__row {background-color: transparent !important; }/* 可選:自定義表頭和斑馬紋行的透明度 */ .el-table__header th {background-color: rgba(…

安全運營中的漏洞管理和相關KPI

漏洞管理一直是企業網絡安全運維中的關鍵環節,但又是安全運維的痛點。不僅要投入大量的人力物力,還無法被其他運維團隊所理解。那么,向領導層和相關團隊反映出當前漏洞管理的現狀和挑戰便是一個急需解決的問題。 通過有效的數據講好故事,發現問題,或許是做好漏洞管理的突破…

機器學習框架(1)

以吳恩達的《機器學習》課程為藍本&#xff0c;整理課程框架&#xff0c;自己學習的簡單記錄。 課程講解很清楚&#xff0c;建議有空可以看看原課程。 01 單變量線性回歸 回歸偏向于連續屬性&#xff0c;分類偏向于離散屬性。 監督學習是給定標簽的學習&#xff1b;而無監督學…

AI Ready數據庫,OceanBase打了一個樣

大數據產業創新服務媒體 ——聚焦數據 改變商業 過去一年&#xff0c;企業對AI的興趣不減。從接入大模型&#xff0c;到部署RAG&#xff08;檢索增強生成&#xff09;系統、探索AI Agent&#xff0c;AI從“新技術”變成了“業務工具”的候選項。但一個技術能否真正落地&#x…

趣味數據結構之——鏈

記得數組嗎&#xff0c;一個蘿卜一個坑的想象。在數組的世界里我們就是第三視角&#xff0c;置身于坑外的。如果我們是二維平面上的生物&#xff0c;那數組就是一維的線&#xff0c;我們可以隨機訪問&#xff0c;增刪查改&#xff0c;也可以一眼看出數組大小。 那么對于鏈來說…

構建低代碼平臺的技術解析

低代碼平臺表單引擎與業務事件設計實踐 低代碼平臺表單引擎與業務事件設計實踐一、什么是低代碼&#xff1f;它能做什么&#xff1f;二、請假系統案例介紹2.1 主要功能2.2 業務流程 三、表單元數據、實例數據與業務事件聯動設計3.1 表單元數據&#xff08;Meta&#xff09;如何…

Hive SQL 快速入門指南

在大數據蓬勃發展的當下&#xff0c;處理海量數據成為企業面臨的關鍵挑戰。Hive SQL 作為一款強大的工具&#xff0c;為我們打開了高效處理大數據的大門。接下來&#xff0c;讓我們一起踏上 Hive SQL 的入門之旅。? 一、Hive SQL 是什么? Hive 是基于 Hadoop 的數據倉庫工具…

國內公司把數據湖做成了數據庫

在做多年的數據倉庫項目&#xff0c;數據湖也在做&#xff0c;但是做完發現&#xff0c;這個不是傳統數據庫里面的ODS嗎&#xff1f; 好多公司做數據湖&#xff0c;就是把數據湖做成了ODS層&#xff08;貼源數據層&#xff09;&#xff0c;難道真的數據湖就是這樣等于ODS嗎&am…

Python 數據分析與可視化 Day 6 - 可視化整合報告實戰

&#x1f3af; 今日目標 整合數據分析與可視化結果生成結構化報告用代碼自動生成完整的圖文分析文檔熟悉 Jupyter Notebook / Markdown 圖表 報告生成流程 &#x1f9e9; 一、項目背景&#xff1a;學生成績分析報告 數據來源&#xff1a;students_cleaned.csv&#xff08;含姓…

服務器、樹莓派/香橙派部署HomeAssistant與小愛音箱聯動

HomeAssistant功能介紹與多平臺部署實戰&#xff1a;CentOS服務器、樹莓派、香橙派部署及小愛音箱聯動控制 一、HomeAssistant簡介 HomeAssistant是一款基于Python開發的開源智能家居自動化平臺&#xff0c;它最大的特點是高度集成和自定義。通過HomeAssistant&#xff0c;用…

內存泄漏系列專題分析之二十四:內存泄漏測試Camera相機進程內存指標分布report概述

【關注我,后續持續新增專題博文,謝謝!!!】 上一篇我們講了: 這一篇我們開始講: 內存泄漏系列專題分析之二十四:內存泄漏測試Camera相機進程內存指標分布report概述 目錄 一、問題背景 二、:內存泄漏測試Camera相機進程內存指標分布report概述 2.1:Camera領域相機進…

華為堆疊理論及配置

一&#xff0c;堆疊基本概念 1.1交換機角色 主交換機&#xff08;Master&#xff09;&#xff1a;主交換機負責管理整個堆疊。**堆疊系統中只有一臺主交換機。**備交換機&#xff08;Standby&#xff09;&#xff1a;備交換機是主交換機的備份交換機。堆疊系統中只有一臺備交換…

【數字經濟】數據即產品架構在數字經濟時代的應用

數據即產品架構在數字經濟時代的應用 在數字經濟中&#xff0c;數據已成為核心生產要素&#xff0c;“數據即產品”&#xff08;Data-as-a-Product&#xff09;架構通過系統化封裝原始數據&#xff0c;實現其可交易、可交付的產品化價值。以下是其架構設計與應用解析&#xff…

MySQL 中的時間序列數據分析與處理

在互聯網應用和企業業務系統中&#xff0c;特別是現在當下環境電商以及跨境電商火爆的情況下&#xff0c;時間序列數據無處不在&#xff0c;如電商訂單時間、用戶登錄日志、設備監控數據等。MySQL 作為主流數據庫&#xff0c;具備強大的時間序列數據處理能力。本文將結合電商訂…

STM32——MDK5編譯和串口下載程序+啟動模式

一、MDK5編譯 1.1 編譯中間文件 還可通過 .map文件計算程序大小 中間文件 > 下載到開發板中的文件 > .hex 二、串口下載 2.1 前提須知 2.2 串口硬件鏈接&#xff08;M3、M4系列&#xff09; M7無串口下載 PC端需安裝 CH340 USB 虛擬串口驅動&#xff1a;CH340 USB 虛…

HyperWorks仿真案例:拓撲優化與激光增材制造的完美結合挖掘輕量化結構的新潛力

許多技術創新都基于自然界中生物結構的設計。通過不斷進化&#xff0c;大自然在數百萬年間已學會根據各種形狀的功能對形狀進行調整&#xff0c;從而最大程度地提高效率。當工程師設法構建堅固而輕盈的結構時&#xff0c;這些自然界中的示例可以提供重要線索。在目前的研究項目…

在Windows系統部署本地智能問答系統:基于百度云API完整教程

引言 在人工智能時代&#xff0c;搭建私有化智能問答系統能有效保護數據隱私并提升響應效率。本教程將手把手教你在Windows環境中&#xff0c;通過百度云API構建專屬智能問答系統&#xff0c;全程無需服務器&#xff0c;僅需本地計算機即可運行&#xff01; 一、環境準備 系統…