Vite項目初始化與配置

下面,我們來系統的梳理關于 Vite 項目初始化與配置 的基本知識點:


一、Vite 核心概念與優勢

1.1 什么是 Vite?

Vite(法語意為 “快速”)是新一代的前端構建工具,由 Vue.js 作者尤雨溪開發。它解決了傳統構建工具(如 Webpack)在開發環境中的性能瓶頸問題。

1.2 Vite 的核心優勢

特性傳統構建工具Vite優勢說明
啟動速度慢(全量打包)極快(按需編譯)基于原生 ESM,無需打包
熱更新慢(重建整個包)快(按需 HMR)只更新修改的模塊
構建速度慢(全量構建)快(Rollup 構建)生產環境使用 Rollup
配置復雜度開箱即用,減少配置
框架支持需 loader原生支持Vue/React/Svelte 等
開發體驗一般優秀即時服務器啟動

1.3 Vite 核心組成

  1. 開發服務器:基于原生 ES 模塊
  2. 構建命令:基于 Rollup
  3. 插件系統:兼容 Rollup 插件
  4. HMR API:快速熱模塊替換
  5. 依賴預構建:優化 CommonJS/UMD 模塊

二、項目初始化與基礎配置

2.1 創建 Vite 項目

# 使用 npm
npm create vite@latest# 使用 yarn
yarn create vite# 使用 pnpm
pnpm create vite

2.2 項目初始化流程

? Project name: … vite-project
? Select a framework: ? Vue
? Select a variant: ? TypeScriptScaffolding project in ./vite-project...
Done. Now run:cd vite-projectnpm installnpm run dev

2.3 項目目錄結構

my-vite-project/
├── node_modules/
├── public/                  # 靜態資源
│   └── favicon.ico
├── src/                     # 源代碼
│   ├── assets/              # 圖片等資源
│   ├── components/          # 組件
│   ├── App.vue              # 主組件
│   └── main.ts              # 入口文件
├── index.html               # 入口 HTML
├── package.json
├── tsconfig.json            # TypeScript 配置
├── vite.config.ts           # Vite 配置文件
└── .gitignore

2.4 基本 vite.config.js 配置

// vite.config.js
import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'export default defineConfig({// 基礎配置base: '/', // 部署基礎路徑// 插件配置plugins: [vue()],// 開發服務器配置server: {port: 3000, // 端口open: true, // 自動打開瀏覽器cors: true, // 允許跨域host: '0.0.0.0' // 監聽所有地址},// 構建配置build: {outDir: 'dist', // 輸出目錄assetsDir: 'assets', // 靜態資源目錄sourcemap: true // 生成 sourcemap}
})

三、核心配置詳解

3.1 開發服務器配置 (server)

export default defineConfig({server: {port: 8080, // 指定端口strictPort: true, // 端口占用時退出open: '/about', // 指定打開路徑proxy: { // 代理配置'/api': {target: 'http://jsonplaceholder.typicode.com',changeOrigin: true,rewrite: path => path.replace(/^\/api/, '')}},hmr: { // 熱更新配置overlay: false // 禁用錯誤覆蓋層}}
})

3.2 構建配置 (build)

export default defineConfig({build: {outDir: 'build', // 自定義輸出目錄assetsInlineLimit: 4096, // 小于4KB的資源內聯cssCodeSplit: true, // CSS代碼分割rollupOptions: { // Rollup配置input: {main: 'index.html',admin: 'admin.html' // 多頁面入口},output: {manualChunks(id) { // 自定義代碼分割if (id.includes('node_modules')) {return 'vendor'}}}},

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

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

相關文章

Transformer中的核心問題 知識點匯總

Transformer架構圖 transformer整體架構 1. Transformer 的參數配置 Transformer 的Encoder層和Decoder層都使用6個注意力模塊,所有的子網絡的輸出維度均為512維,多頭注意力部分使用了8個注意力頭。 2. 歸一化的方式 歸一化的方式為LayerNorm&#xff0c…

python web開發-Flask數據庫集成

Flask 數據庫集成完全指南:Flask-SQLAlchemy 實踐 1. 引言 數據庫是現代Web應用的核心組件,Flask通過Flask-SQLAlchemy擴展提供了強大的數據庫集成能力。本文將全面介紹如何在Flask應用中使用Flask-SQLAlchemy進行數據庫操作,涵蓋從基礎配置…

一站式用AI編程神奇Cursor/Trae(VScode環境)開發運行Scala應用

平時開發時,我們常用 IDEA 搭配 Scala 來開發 Spark 或 Flink 等大數據應用。但如今像 Cursor 這樣的編程神器層出不窮,它們只支持 VSCode。要是 Scala 應用能在 VSCode 環境下便捷運行,我們就無需在 VSCode 開發、卻在 IDEA 運行&#xff0c…

【Django開發】django美多商城項目完整開發4.0第2篇:項目準備,配置【附代碼文檔】

教程總體簡介:美多商城 商業模式介紹 1.B2B--企業對企業 2.C2C--個人對個人 5.O2O--線上到線下 開發流程 說明: 需求分析 1. 用戶部分 注冊 登錄 個人信息 地址管理 修改密碼 3. 購物車部分 購物車管理 項目架構 創建工程 1. 在git平臺創建工程 2. 添加前…

基于 OpenCV 的圖像亮度、對比度與銳度調節

圖像亮度、對比度和銳度是圖像質量感知的重要參數,調節這些屬性常用于圖像增強、圖像美化或圖像分析的預處理階段。本文將基于 OpenCV 實現這三項基礎圖像處理功能,并提供滑動條交互界面與直方圖可視化分析,方便調試和理解效果。 亮度調整 圖…

WAF(web應用防火墻)的簡單了解

WAF稱之為Web應用防火墻,是一種專門設計用于保護web應用程序免受惡意攻擊的安全設備,能實時監控過濾和攔截可能對網站造成危害的網絡流量,從而避免網絡服務器被惡意入侵導致性能異常、數據泄露、服務中斷這些問題 (WAF是通過執行一系列針對HT…

跟著AI學習C# Day28

📅 Day 28:C# 源生成器(Source Generators)與編譯時元編程 ? 學習目標: 理解什么是 源生成器(Source Generator);掌握如何在 編譯階段生成 C# 代碼,而不是運行時動態處…

設計模式精講 Day 4:建造者模式(Builder Pattern)

【設計模式精講 Day 4】建造者模式(Builder Pattern) 文章簡述: 在軟件開發中,對象的構造過程往往復雜且容易出錯,尤其是在對象包含多個可選參數或構建步驟時。建造者模式(Builder Pattern)正是…

如何輕松地將聯系人從 iPhone 轉移到 iPhone?

也許您升級到最新的 iPhone 型號,或者需要切換到另一部 iPhone 來工作。無論如何,您不能錯過您的聯系人,這對每個人來說都是最重要的數據。因此,今天我們將分享 5 種如何將聯系人從 iPhone 轉移到 iPhone 的方法,幫助您…

【51單片機簡單的流水燈程序問題】2022-5-24

1.利用單片機的P2口接8個發光二極管。簡單的流水燈程序問題-編程語言-CSDN問答 2.發光二極管自由閃爍(自己設計兩種模式)。 3.可通過按鍵實現暫停、啟動以及不用模式的切換。 4. 利用Proteus繪制電路原理圖 5. 元件選型&#xff1…

第七節:Vben Admin 最新 v5.0 (vben5) 快速入門 - 用戶管理(上)

Vben5 系列文章目錄 ?? 基礎篇 ? 第一節:Vben Admin 最新 v5.0 (vben5) 快速入門 ? 第二節:Vben Admin 最新 v5.0 (vben5) 快速入門 - Python Flask 后端開發詳解(附源碼) ? 第三節:Vben Admin 最新 v5.0 (vben5) 快速入門 - 對接后端登錄接口(上) ? 第四節:Vben Ad…

1572. 矩陣對角線元素的和

給你一個正方形矩陣 mat,請你返回矩陣對角線元素的和。 請你返回在矩陣主對角線上的元素和副對角線上且不在主對角線上元素的和。 示例 1: 輸入:mat [[1,2,3],[4,5,6],[7,8,9]] 輸出:25 解釋:對角線的和為&#xf…

供應鏈場景使用ClickHouse最佳實踐

一、概述 ClickHouse是一款由俄羅斯公司Yandex開發的開源列式數據庫管理系統,以其高性能的分析查詢能力和高壓縮比著稱。供應鏈場景中,數據量大且數據類型復雜,需要高效的數據存儲和快速的查詢性能,ClickHouse在這些方面具有顯著…

RA4M2開發IOT(0)----安裝e2 studio

RA4M2開發IOT.0--安裝e studio 概述視頻教學樣品申請安裝 概述 瑞薩電子靈活配置軟件包 (FSP) 是用于嵌入式系統設計的高質量增強型軟件包,支持瑞薩電子 RA 產品家族 Arm 微控制器,提供用戶友好的界面且可靈活擴展,確保從入門級到高性能的整…

【Ambari3.0.0 部署】Step2—免密登陸認證-適用于el8

如果有其他系統部署需求可以參考原文 戳我->所有組件編譯教程 戳我->獲取部署源代碼 一、免密登錄認證 🔐 在多臺服務器協同工作的環境中,免密登錄(SSH 免密認證)是一種常見的優化手段,能夠極大地提升運維效率&…

網站自助廣告投放系統源碼 附安裝教程(源碼下載)

網站自助廣告投放系統源碼 全自動無人化出售網站廣告位 站長必備 源碼測試可用,部分加密。感興趣自行下載 源碼下載:https://download.csdn.net/download/m0_66047725/91093092 更多資源下載:關注我 圖片:

日常運維問題匯總-15

42.SD開票計劃產生的預收款在正式開票時未自動清賬 統馭科目(應收、預收)對應的字段狀態組中附加科目設置銷售訂單字段設置為了隱藏導致,更改為“可選輸入項” 43.MIGO取消憑證時,用戶反饋發現除一行外,其它都不能取消…

【設計模式】6.原型模式

every blog every motto: You can do more than you think. https://blog.csdn.net/weixin_39190382?typeblog 0. 前言 原型模式 1. 基礎 import copyclass Resume:def __init__(self, name):self.name nameself.sex Noneself.age Noneself.time_area Noneself.compan…

【算法 day08】LeetCode 151.翻轉字符串里的單詞 |卡碼網:55.右旋轉字符串

151.翻轉字符串里的單詞 題目鏈接 | 文檔講解 |視頻講解 : 鏈接 1.思路: 1.去除字符串頭尾的空格 ,使用庫函數 trim() 2.對字符串進行分割,使用庫函數split() 3.創建StringBuilder sb&#x…

【WordPress優化插件】WPOPT v2.4.7

WPOPT插件,是由本站開發的一款WordPress優化插件,能對WordPress底層功能進行優化,支持功能開關,系統加速等功能。 2.0版本全新發布,采用vite打包,界面采用Vue3+element-plus制作。無論是外觀,還是框架功能,都是空前的強大。 功能更多,更強,是所有WordPress網站都值得…