從0到1:React項目中的Webpack配置實戰
公司項目一般都是使用集團封裝好的腳手架,腳手架內部實現咱看不到也摸不着,好不容易組內推行新的UI框架,需要自行定義 webpack 配置,這可是個絕佳的好機會,我對配置過程進行了梳理,把商業項目的成熟配置小跑着送上。 初始化 首先新建一個空文件夾,執行 npm init 初始化生成 package.json 文件。 創建 src 文件夾,項目的業務代碼都放在這裏,再創建 index.js,這是項目
昵稱 一顆冰淇淋
貢獻者38
粉絲0
公司項目一般都是使用集團封裝好的腳手架,腳手架內部實現咱看不到也摸不着,好不容易組內推行新的UI框架,需要自行定義 webpack 配置,這可是個絕佳的好機會,我對配置過程進行了梳理,把商業項目的成熟配置小跑着送上。 初始化 首先新建一個空文件夾,執行 npm init 初始化生成 package.json 文件。 創建 src 文件夾,項目的業務代碼都放在這裏,再創建 index.js,這是項目
昵稱 一顆冰淇淋
寫在開頭 我先説下一下,為啥要寫這個,由於之前在寫不見面開標5.0系統,修改完bug後,然後前端通過npm run build打包後生成文件,然後在通過FTP工具上傳至服務器,整個過程,我還需要手動拷貝到服務器,如果一天打包好幾次,就要手動拷貝好幾次,非常繁瑣 前端部署項目方案 前端部署 通過npm run build,構建前端靜態資源文件 只需上傳構建後的資源文件,然後上傳至服務器指
昵稱 羊先生
構建其實是工程化、自動化思想在前端開發中的體現,把一系列流程用代碼去實現,讓代碼自動化地執行這一系列複雜的流程。 構建給前端開發注入了更大的活力,解放了我們的生產力。 Webpack 憑藉強大的功能與良好的使用體驗,已經成為目前最流行,社區最活躍的構建工具,是現代 Web 開發必須掌握的技能之一。 背景 在當下的前端環境裏,各種框架和工具層出不窮,比如 React、Vue、Angular 等,極大
昵稱 編程三昧
airpack 是一個 webpack-cli 的包裝器。旨在讓你更優雅的使用 webpack。 airpack 在 node 加載 webpack-cli 模塊時,給 webpack-cli 打上功能增強補丁。這個補丁讓 webpack-cli 能按一定的優先級順序自動從多個位置(項目依賴、項目目錄、命令行參數)讀取 webpack 配置,然後用更合適的方式合併這些 webpack 配置。 使用
昵稱 arzyu
大家好,我是貓小白,本文基於vue2,全文閲讀大約需要3分鐘。 談到webpack優化大部分人可能都看膩了,無非就那幾招嘛,我之前也是看過許多類似的文章,但都沒有自己真正上手過,下面是我用公司的項目真實操練下來的,首屏加載速度提升很大(刷刷的),希望能幫到你。 廢話不多説,先看看對比成果! 類型 優化前 優化後 js文件大小
昵稱 華仔
通常為了開發效率,我們會使用 vue-cli 創建項目,這樣創建的項目默認情況下編譯是會對代碼進行分割的。但是如果是自行配置的 webpack 環境的話,還是很有必要熟悉代碼分割的相關知識的。 為什麼要做代碼分割 在配置 webpack 的過程中,很多時候我們的 webpack 入口只寫了一個 entry: '${sourceDir}/index.js’,默認情況下只會生成一個 bundle 文件
昵稱 EthanProcess
ngx-center 一箇中心,多個...... 使用介紹(視頻) 這是什麼? 一個 Angular 單運行時多項目共享依賴的解決方案 只啓動一個 Angular 平台(PlatformRef),其他子項目進行導出(類 es6 module),通過資源文件清單(或單獨 js 文件)進行請求加載 功能 支持子項目在開發時代碼變更的刷新 支持子項目調用主項目導出的命名(e
昵稱 wszgrcy
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
昵稱 一顆冰淇淋
背景: taro+h5的項目; 每次build上線的時候; 如果這時候有人正在使用 h5頁面 ;因為jenkins部署是直接替換掉原來的資源;導致 單頁面應用 的頁面找不到之前的資源;出現白屏、點擊無反應、xxx is not defined 的情況 前端打包解決思路 部署的時候不刪除之前的資源包dist;以保證正在使用的客户端用户始終能找到對應的資源。 將打包資源的文件夾名定義為 版
昵稱 songxianling1992
問題描述 使用webpack打包的umd格式的js插件導入到vue2項目中無法使用,報錯如下: SymtaxError: The reguested module '/xxxin js’does not provide an export named 'defanlt’ vue-cli版本不同現象: vue-cli 4.5.15會報’does not provide an exp
昵稱 heath_learning
前言 我們知道 webpack 只能處理 JavaScript 和 Json 文件,面對 CSS、圖片等資源是無能為力的,它需要通過 loader 將這些資源轉換為可處理的模塊。 loader 的本質是一個解析資源的函數模塊,該函數對接受到的內容進行轉換,然後返回 webpack 可處理的資源。 loader的執行順序 loader 可根據執行順序區分為: pre: 前置 loader no
昵稱 coderLeo
前言 webpack-plugin 向開發者提供了 webpack 引擎中完整的能力。通過插件擴展 webpack,加入自定義的構建行為,使 webpack 可以執行更廣泛的任務,擁有更強的構建能力。 與 loader 相同,plugin 的本質也是一個模塊(它包含一個apply函數),符合 webpack 的一切皆模塊的理念。 工作原理 webpack 就像一條串行的生產線,要經過一系列處理流程
昵稱 coderLeo
Vite VS Webpack,誰才是最強構建工具 前言 大家好,我是倔強青銅三。是一名熱情的軟件工程師,我熱衷於分享和傳播IT技術,致力於通過我的知識和技能推動技術交流與創新,歡迎關注我,微信公眾號:倔強青銅三。 Vite vs Webpack:哪個更適合您的項目? 隨着Web應用的不斷髮展,對更快、更高效的開發工具的需求也在日益增長。多年來,Webpack一直是複雜應用的首選打包工具,以其強
昵稱 倔強青銅三
初始化 cd 項目名 webpack init 創建第二頁面與其頭文件 touch page2.html touch src/page2.js 修改page2.js console.log("success") 修改webpack.config.js 添加page2.html至plugins項,添加src/page2.js至entry項 最終模板: const path = requi
昵稱 hyfhao
1、什麼叫“多個模塊且不包含共享模塊代碼的JS庫”? 假設你現在要在npm上發佈一個js庫,你的庫裏有module1.js、module2.js2個模塊,這2個模塊都依賴了hex.js工具模塊,如果使用普通的 打包模式打包module1.js、module2.js2個模塊,那麼module1.js、module2.js2個模塊中都會包含hex.js工具模塊,這會導致 在項目導入這2個模
昵稱 heath_learning
本文首發博客網站,由於圖片和格式解析問題,可前往閲讀原文 隨着前端開發複雜度的提升,構建工具在開發流程中扮演着越來越重要的角色。這些工具可以幫助開發者實現代碼的打包、優化、轉譯、模塊化處理等功能,從而提升開發效率和用户體驗。本文將以當前主流的前端構建工具為核心,介紹它們的特點、適用場景及差異 構建工具 Grunt Grunt 是較早期的任務運行工具,主要通過任務(tasks)系統自動化完成前端開發
昵稱 大衞talk
Vue工程化配置指南:vue.config.js深度解析 一、初始化配置文件 在Vue CLI工程根路徑下創建配置文件: 項目層級示意: your-project/ ├── src/ ├── public/ ├── package.json └── vue.config.js # 新增配置文件 基本模板結構: module.exports = { // 工程化配置區域 } 二、核心配置參數解
昵稱 月半大熊貓
1. 前言 大家好,我是若川,歡迎關注我的公眾號:若川視野。從 2021 年 8 月起,我持續組織了好幾年的每週大家一起學習 200 行左右的源碼共讀活動,感興趣的可以點此掃碼加我微信 ruochuan02 參與。另外,想學源碼,極力推薦關注我寫的專欄《學習源碼整體架構系列》,目前是掘金關注人數(6k+人)第一的專欄,寫有幾十篇源碼文章。 截至目前(2024-11-07),目前最新是 4.0.7,
昵稱 若川
1. 前言 大家好,我是若川,歡迎關注我的公眾號:若川視野。從 2021 年 8 月起,我持續組織了好幾年的每週大家一起學習 200 行左右的源碼共讀活動,感興趣的可以點此掃碼加我微信 ruochuan02 參與。另外,想學源碼,極力推薦關注我寫的專欄《學習源碼整體架構系列》,目前是掘金關注人數(6k+人)第一的專欄,寫有幾十篇源碼文章。 截至目前(2024-11-22),目前最新是 4.0.7,
昵稱 若川
1. 前言 大家好,我是若川,歡迎關注我的公眾號:若川視野。從 2021 年 8 月起,我持續組織了好幾年的每週大家一起學習 200 行左右的源碼共讀活動,感興趣的可以點此掃碼加我微信 ruochuan02 參與。另外,想學源碼,極力推薦關注我寫的專欄《學習源碼整體架構系列》,目前是掘金關注人數(6k+人)第一的專欄,寫有幾十篇源碼文章。 截至目前(2024-12-26),目前最新是 4.0.8,
昵稱 若川
痛點: 開發過程中改一行代碼卻要等webpack構建半天實在太捉急。 項目背景 我們的項目是@vue/cli4生成的,基於webpack和vue2開發,未使用ts。用到了很多jquery、lodash、echarts等第三方依賴。 參考: @vue/cli4已經默認配置過一些優化方法了,比如為babel-loader增加cache-loder。請教了deepseek和google之後,根據項目的實
昵稱 雨花石
背景: 兼容性測試流程中,遇到華為p9手機上的頁面按鈕點擊無反應的問題。開發者工具查看後發現報錯如下: 根據報錯信息檢查了一下頁面引用的vendors包,發現有...語法,來自於第三方依賴axios。 原因: axios包有es6語法,而我的項目的webpack.config.js配置的babel-loader排除了所有的node_modules的編譯。如下: {
昵稱 雨花石
對一個非rsbuild的既有項目,遷移到rsbuild,有兩種途徑;其一是用rsbuild官方工具新建空殼項目,將舊項目的代碼文件搬到新的殼項目中,並安裝項目需要的依賴項,編寫rsbuild.config.ts配置;其二是修改舊項目的依賴項,刪除無關依賴和無關配置,安裝rsbuild項目所用的依賴項,編寫rsbuild.config.ts配置。 pnpm i @rsbuild/core @r
昵稱 DiracKeeko