vue | rollup 打包 | 配置 rollup.config.js 文件,更改 rollup的行為

原因:將入口文件?轉為 esm umd?兩種格式,要配置?rollup

Rollup 已內置到?vite?工具中,

命令行打包,參數多,麻煩——》解決:創建配置文件,js 寫的,rollup.config.js


配置 rollup.config.js文件:

input 輸入文件

output 輸出文件:file 文件路徑、format 格式

Rollup 運行配置文件:npx rollup --config rollup.config.js??

導出格式

exports.xxx = xxx => common.js的格式

export?{ xxx } => es module?格式 ——》與平時寫的代碼無異。

如何測試導出的格式

1. 修改導入文件,用于測試導出格式

2. 運行代碼?npx rollup --config rollup.config.js??

3. ①配置格式 cjs,exports.xxx = xxx => common.js的格式

②配置?es module?格式,

?export{ xxx }? => es module?格式 ——》與平時寫的代碼無異。


?使用插件,打包過程中?更改 rollup 的行為——》使用 rollup 官方插件,在 rollup.config.js 中配置

復雜項目要靈活處理,有時直接處理 會報錯。

可以使用插件,在打包的關鍵過程中 更改 rollup的行為

?Rollup 官方支持的插件

?例子:官方的 json 插件,支持將 json 文件轉為 es6 modules

安裝:npm install @rollup/plugin-json --save-dev

使用:在配置文件中?rollup.config.js?中 配置。

如 json:添加?import json from '@rollup/plugin-json';,并添加插件 plugins:[ json() ] 選項。

示范:測試,讀取 json 文件中的?version字段

??導出的文件,成功取到version字段


vite 創建生產版本:1. 庫模式? 2. 自定義構建

庫模式構建:vite.config.js?文件下 ->?build選項->??lib 選項 -> entry 入口文件、name 暴露的全局變量、fileName 包文件名、formats 格式

?配置完成后,重新運行 npm run build-only


自定義構建:vite.config.js -> build選項 -> rollupOptions?選項

不打包的依賴:處理不想打包進庫的依賴

問題: 打包文件過大

解決:將部分不需要用的依賴摘出去,如vue

步驟:vite.config.ts -> build 選項 ->??添加 rollupOptions 選項 -> external: [' 要排除在外的依賴 ']

例子:不打包 vue 依賴,重新運行:npm run build-only,打包體積顯著減少。


報錯:output.exports: "named"output.globals全局變量名稱——》解決:在vite.config.ts文件中,build 配置 rollupOptions選項,里頭添加?output字段,進行exports 和 globals 的配置。

步驟:vite.config.ts -> build 選項 ->??添加 rollupOptions 選項 -> output選 -> 添加 exports 表示既有具名導出也有默認導出,globals?給 vue 添加全局變量名稱

注: 每一個外部依賴,都要有一個全局變量名稱。

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

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

相關文章

服務器中物理處理器和邏輯處理器的區別?

在服務器或任何計算機系統中,**物理處理器(Physical Processor)和邏輯處理器(Logical Processor)**是兩個不同的概念,它們分別代表了硬件層面和操作系統層面的處理能力。 物理處理器(Physical P…

【Gin框架】中間件

1. 什么是中間件 (Middleware)? 在 Web 框架的語境下,中間件 (Middleware) 是一種可重用的軟件組件或函數,它被設計用來在 HTTP 請求-響應生命周期中的特定點攔截和處理請求或響應。在 Gin 框架中,中間件特指符合 gin.HandlerFun…

STUN (Session Traversal Utilities for NAT) 服務器是一種網絡協議

STUN (Session Traversal Utilities for NAT) 服務器是一種網絡協議,主要用于幫助位于網絡地址轉換 (NAT) 設備(如路由器)后面的客戶端發現自己的公共 IP 地址和端口號。這對于建立點對點 (P2P) 通信至關重要,尤其是在 VoIP&#…

AQS詳解

概念 AQS(AbstractQueuedSynchronizer) 是并發包(java.util.concurrent)的核心組件,用于構建鎖和同步器(如 ReentrantLock、Semaphore、CountDownLatch 等)。它通過維護一個 CLH 隊列 和 同步狀…

python實戰項目76:51job數據采集與分析

python實戰項目76:51job數據采集與分析 一、數據采集二、數據預處理2.1 導入相關庫、讀取數據2.2 查看數據2.3 處理數據、刪除重復值、刪除空值2.4 處理薪資水平字段數據三、數據可視化3.1 不同公司規模招聘崗位數量分布3.2 不同公司性質招聘崗位數量分布3.3 不同年限要求招聘崗…

每天一個前端小知識 Day 7 - 現代前端工程化與構建工具體系

現代前端工程化與構建工具體系 1. 為什么要工程化?(面試高頻問題) 問題痛點: 模塊太多、無法組織;代碼冗長、性能差;瀏覽器兼容性差;團隊協作混亂,缺少規范與自動化。 工程化目標…

shell腳本--變量及特殊變量,算術邏輯運算

1.變量是什么 2.變量類型 3.動態,靜態,強弱類型 4.變量的命名 5.變量的定義和引用 5.1三種變量類型 普通變量 環境變量 局部變量 5.2單引號,雙引號,強弱引用 雙引號對變量賦值的影響01:59:給變量加雙引號&#x…

Python粒子群優化算法結合熱力圖TIFF文件案例

Python粒子群優化算法結合熱力圖TIFF文件案例 1. 項目概述 本項目使用粒子群優化算法(PSO)在熱力圖TIFF文件中尋找溫度最高點。熱力圖通常以地理空間數據形式存儲(TIFF格式),包含溫度分布信息。PSO算法模擬鳥群覓食行為,通過粒子協作在搜索空間中尋找最優解。 import …

使用Mambaout替換YOLObackbone 整合全局信息,提升遮擋目標檢測中定位能力,以及小目標、多尺度

近年來,Transformer 架構雖在各類任務中成為主流,但注意力機制的二次復雜度對長序列處理構成挑戰。為此,類似 RNN 的模型如 Mamba 被引入,其核心是狀態空間模型(SSM),旨在以線性復雜度處理長序列…

力扣網C語言編程題:接雨水(動態規劃實現)

一. 簡介 本文記錄力扣網上的邏輯編程題,涉及數組方面的,這里記錄一下 C語言實現和Python實現。 二. 力扣網C語言編程題:接雨水 題目:接雨水 給定 n 個非負整數表示每個寬度為 1 的柱子的高度圖,計算按此排列的柱子…

關于ubuntu環境下vscode進行debug的隨筆

CMakeLists.txt的編寫 頂層目錄的CMakelists.txt 目錄:./CMakeLists.txt #./CMakeLists.txt cmake_minimum_required(VERSION 3.10) project(xxx_project_name LANGUAGES CXX) #設置工程名# 設置 C 標準和編譯選項 set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_ST…

技術演進中的開發沉思-9:window編程系列-內核對象線程同步(下)

今天我們繼續走進 Windows 內核的世界,就昨天沒說完的內核對象與線程同步內容接著繼續,它們就像精密儀器里的齒輪,雖不顯眼,卻至關重要。 異步設備 I/O 在 Windows 系統中,異步設備 I/O 就像是一場精心編排的接力賽。…

用AI從0開始量化交易-Anaconda環境(env)和緩存(pkg)更改儲存位置

之前介紹了Anaconda的安裝和環境建立,最近自己的量化交易工具開發的差不多了,卻發生了尷尬的問題,C盤被不斷增大的conda環境和緩存占據得快滿了。 在網上找了些教程,大多是講遷移的,專門講改本地改儲存位置的比較少&am…

Python爬蟲工作基本流程及urllib模塊詳解

在2025年的數據驅動時代,網絡數據成為企業與個人的“金礦”,而Python爬蟲則是挖掘這金礦的“利器”!無論是抓取電商價格、分析社交媒體趨勢,還是構建知識庫,Python爬蟲都能讓你事半功倍。然而,爬蟲開發并非…

thinkphp8 模型-一對一,一對多,多對多 學習

thinkphp 命令創建模型(和laravel基本一樣) php think make:model User 在模型里創建字段 protected $table User; protected $pk id; // 定義返回哪些字段 protected $field [id, name]; // 返回字段的類型 protected $schema [id > int] 模…

非線性方程組求解:復雜情況下的數值方法

在科學研究和工程應用中,非線性方程組的求解是一個常見的挑戰。尤其當方程組包含復雜函數(如特殊函數、積分、微分等),使得雅可比矩陣難以解析求導時,傳統的基于解析雅可比矩陣的 Newton-Raphson 方法難以直接應用。本…

邊緣計算網關EG8200Mini首發開箱視頻丨破解工業互聯“協議孤島”,重塑數據價值核心引擎行業痛點直擊|低代碼開發

數據采集4G邊緣計算網關plc 工業現場設備品牌林立(西門子、三菱、歐姆龍等30品牌PLC)、協議碎片化(Modbus/OPC UA/BACnet等)、網絡環境復雜(戶外無光纖、車間電磁干擾)——傳統網關難以實現多源異構設備統一…

2024-2025下期《網絡設備與配置》期末模擬測試

一、 單選題(每題2分,共60分) RIP協議的默認最大跳數是( ) A. 10 B. 15 C. 20 D. 30以下哪個命令可以用來在交換機上進入全局配置模式?( ) A. 使用enable命令 B. 使用configure terminal命令 C. 使用inte…

虹科案例 | 欣旺達如何實現動力電池測試的長期穩定性+自動化?

新能源汽車產業狂飆突進,動力電池測試正面臨前所未有的技術大考。 傳統電池測試方案常因數據丟幀、協議適配等問題,導致測試周期延長和交付延期。在這場關乎安全與效率的產業競速中,高精度數據采集與全球化交付能力,已成為動力電…

第17天:數據庫學習筆記1

數據庫學習筆記 1 SQL語言介紹 2 數據庫的安裝 2.1 啟動數據庫 方式一:net start mysql 方式二:在計算機管理里面手動打開數據庫 2.2 登錄MySQL 方式一:本地登錄 即數據庫與客戶端在同一臺電腦上。 方式二:遠程登錄 mysq…