搜尋
首頁web前端Vue.js如何配置Vue CLI以使用不同的構建目標(開發,生產)?

如何配置Vue CLI以使用不同的構建目標(開發,生產)?

要配置VUE CLI以使用不同的構建目標進行開發和生產,您需要修改vue.config.js文件。該文件允許您指定可以根據構建目標應用的不同配置。這是您可以設置它的方法:

  1. 創建或修改vue.config.js :如果您在項目的根目錄中沒有vue.config.js文件,請創建一個。如果您已經有一個,請確保添加以下配置。
  2. 定義特定環境的配置:使用process.env.NODE_ENV變量來區分開發環境和生產環境。這是您的vue.config.js文件的基本示例:
 <code class="javascript">module.exports = { // Configuration that applies to both environments publicPath: process.env.NODE_ENV === 'production' ? '/production-subdirectory/' : '/', // Other configurations... // ChainWebpack is used to modify the internal webpack configuration chainWebpack: config => { if (process.env.NODE_ENV === 'production') { // Production-specific webpack configurations config.optimization.minimize(true); // Other production-specific optimizations... } else { // Development-specific webpack configurations config.devtool('cheap-module-eval-source-map'); // Other development-specific settings... } } };</code>

在此示例中,根據環境設置了publicPath ,並使用chainWebpack方法將不同的Webpack設置應用於開發和生產。

  1. 運行構建命令:要運行應用程序時,請使用以下命令:

    • 用於開發: <code>vue-cli-service serve</code>
    • 生產: <code>vue-cli-service build</code>

通過以這種方式設置vue.config.js文件,您可以輕鬆地在為開發和生產構建量身定制的不同配置之間切換。

如何在Vue CLI中的開發環境和生產環境之間切換?

VUE CLI中開發環境和生產環境之間的切換主要由您使用的命令和設置的環境變量處理。

  1. 使用命令

    • 要以開發模式啟動您的應用程序,請使用命令:

       <code>npm run serve</code>

      或者

      <code>vue-cli-service serve</code>
    • 要構建生產應用程序,請使用:

       <code>npm run build</code>

      或者

      <code>vue-cli-service build</code>
  2. 設置環境變量

    • VUE CLI使用process.env.NODE_ENV確定環境。當您運行<code>vue-cli-service serve</code> , process.env.NODE_ENV會自動設置為'development' 。當您運行<code>vue-cli-service build</code> ,它將設置為'production'
    • 您還可以在運行命令之前手動設置NODE_ENV環境變量。例如:

       <code>NODE_ENV=production vue-cli-service build</code>

      這將確保構建過程使用生產設置。

通過使用這些命令並可能調整環境變量,您可以輕鬆地在VUE CLI中的開發環境和生產環境之間切換。

我應該在Vue CLI中調整哪些設置以優化生產構建?

為了優化Vue CLI中的生產構建,您應該專注於vue.config.js文件中的幾個關鍵設置。以下是一些重要的調整設置:

  1. 縮小

    • 確保您的代碼被縮小以減小文件大小。默認情況下,Vue CLI使用terser-webpack-plugin進行縮小。您可以在vue.config.js中進行配置:

       <code class="javascript">module.exports = { chainWebpack: config => { config.optimization.minimize(true); config.optimization.minimizer('terser').tap(args => { args[0].terserOptions.compress.drop_console = true; return args; }); } };</code>

      此示例還刪除了生產中的console語句,以進一步減少文件大小。

  2. 代碼分裂

    • 啟用代碼拆分只能為當前頁面加載必要的JavaScript。 Vue CLI會自動執行此操作,但是您可以通過調整splitChunks設置來進一步優化它:

       <code class="javascript">module.exports = { chainWebpack: config => { config.optimization.splitChunks({ chunks: 'all', minSize: 30000, maxSize: 0, minChunks: 1, maxAsyncRequests: 5, maxInitialRequests: 3, automaticNameDelimiter: '~', name: true, cacheGroups: { defaultVendors: { test: /[\\/]node_modules[\\/]/, priority: -10 }, default: { minChunks: 2, priority: -20, reuseExistingChunk: true } } }); } };</code>
  3. 搖樹

    • VUE CLI自動使樹搖動,從而消除未使用的代碼。確保您沒有進口不必要的模塊或在生產版中可以消除的組件。
  4. GZIP壓縮

    • 啟用GZIP壓縮以進行生產構建,以進一步減少傳輸文件的大小。這可以在您的服務器設置中進行配置,但也可以在vue.config.js

       <code class="javascript">const CompressionWebpackPlugin = require('compression-webpack-plugin'); module.exports = { configureWebpack: config => { if (process.env.NODE_ENV === 'production') { return { plugins: [new CompressionWebpackPlugin({ test: /\.js$|\.css$/, threshold: 10240, minRatio: 0.8 })] }; } } };</code>
  5. 快取:

    • 在文件名中使用散列以利用瀏覽器緩存。 VUE CLI默認使用內容哈希,這有助於確保瀏覽器在內容更改時更新其緩存版本。

通過調整這些設置,您可以顯著優化VUE CLI生產的構建,從而產生更快的負載時間和更好的性能。

我如何確保我的開發在Vue CLI中構建,包括源地圖,以更輕鬆的調試?

為了確保在Vue CLI中構建的開發包括源地圖,以便於調試,您需要配置vue.config.js文件。默認情況下,在開發模式下啟用了源地圖,但是您可以將其明確設置為如下:

  1. 修改vue.config.js :確保您的項目根部有一個vue.config.js文件,並添加以下配置:
 <code class="javascript">module.exports = { chainWebpack: config => { if (process.env.NODE_ENV === 'development') { config.devtool('cheap-module-eval-source-map'); } } };</code>

cheap-module-eval-source-map選項在構建速度和開發功能之間提供了良好的平衡。它包括行對線映射,但不包括列映射,從而加快了構建過程。

  1. 運行開發構建:當您使用以下方式運行開發構建時:

     <code>npm run serve</code>

    或者

    <code>vue-cli-service serve</code>

    Vue CLI將自動應用development配置,並包含vue.config.js文件中指定的源地圖。

通過使用此配置,您可以確保在開發過程中可用源地圖,從而更容易在瀏覽器的開發人員工具中調試應用程序。

以上是如何配置Vue CLI以使用不同的構建目標(開發,生產)?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
vue.js和前端:深入研究框架vue.js和前端:深入研究框架Apr 22, 2025 am 12:04 AM

Vue.js被開發者喜愛因為它易於上手且功能強大。 1)其響應式數據綁定係統自動更新視圖。 2)組件系統提高了代碼的可重用性和可維護性。 3)計算屬性和偵聽器增強了代碼的可讀性和性能。 4)使用VueDevtools和檢查控制台錯誤是常見的調試技巧。 5)性能優化包括使用key屬性、計算屬性和keep-alive組件。 6)最佳實踐包括清晰的組件命名、使用單文件組件和合理使用生命週期鉤子。

vue.js在前端的力量:關鍵特徵和好處vue.js在前端的力量:關鍵特徵和好處Apr 21, 2025 am 12:07 AM

Vue.js是一個漸進式的JavaScript框架,適用於構建高效、可維護的前端應用。其關鍵特性包括:1.響應式數據綁定,2.組件化開發,3.虛擬DOM。通過這些特性,Vue.js簡化了開發過程,提高了應用性能和可維護性,使其在現代Web開發中備受歡迎。

vue.js比反應好嗎?vue.js比反應好嗎?Apr 20, 2025 am 12:05 AM

Vue.js和React各有優劣,選擇取決於項目需求和團隊情況。 1)Vue.js適合小型項目和初學者,因其簡潔和易上手;2)React適用於大型項目和復雜UI,因其豐富的生態系統和組件化設計。

vue.js的功能:增強前端的用戶體驗vue.js的功能:增強前端的用戶體驗Apr 19, 2025 am 12:13 AM

Vue.js通過多種功能提升用戶體驗:1.響應式系統實現數據即時反饋;2.組件化開發提高代碼復用性;3.VueRouter提供平滑導航;4.動態數據綁定和過渡動畫增強交互效果;5.錯誤處理機制確保用戶反饋;6.性能優化和最佳實踐提升應用性能。

vue.js:定義其在網絡開發中的作用vue.js:定義其在網絡開發中的作用Apr 18, 2025 am 12:07 AM

Vue.js在Web開發中的角色是作為一個漸進式JavaScript框架,簡化開發過程並提高效率。 1)它通過響應式數據綁定和組件化開發,使開發者能專注於業務邏輯。 2)Vue.js的工作原理依賴於響應式系統和虛擬DOM,優化性能。 3)實際項目中,使用Vuex管理全局狀態和優化數據響應性是常見實踐。

了解vue.js:主要是前端框架了解vue.js:主要是前端框架Apr 17, 2025 am 12:20 AM

Vue.js是由尤雨溪在2014年發布的漸進式JavaScript框架,用於構建用戶界面。它的核心優勢包括:1.響應式數據綁定,數據變化自動更新視圖;2.組件化開發,UI可拆分為獨立、可複用的組件。

Netflix的前端:React(或VUE)的示例和應用Netflix的前端:React(或VUE)的示例和應用Apr 16, 2025 am 12:08 AM

Netflix使用React作為其前端框架。 1)React的組件化開發模式和強大生態系統是Netflix選擇它的主要原因。 2)通過組件化,Netflix將復雜界面拆分成可管理的小塊,如視頻播放器、推薦列表和用戶評論。 3)React的虛擬DOM和組件生命週期優化了渲染效率和用戶交互管理。

前端景觀:Netflix如何處理其選擇前端景觀:Netflix如何處理其選擇Apr 15, 2025 am 12:13 AM

Netflix在前端技術上的選擇主要集中在性能優化、可擴展性和用戶體驗三個方面。 1.性能優化:Netflix選擇React作為主要框架,並開發了SpeedCurve和Boomerang等工具來監控和優化用戶體驗。 2.可擴展性:他們採用微前端架構,將應用拆分為獨立模塊,提高開發效率和系統擴展性。 3.用戶體驗:Netflix使用Material-UI組件庫,通過A/B測試和用戶反饋不斷優化界面,確保一致性和美觀性。

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

MantisBT

MantisBT

Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

mPDF

mPDF

mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

DVWA

DVWA

Damn Vulnerable Web App (DVWA) 是一個PHP/MySQL的Web應用程序,非常容易受到攻擊。它的主要目標是成為安全專業人員在合法環境中測試自己的技能和工具的輔助工具,幫助Web開發人員更好地理解保護網路應用程式的過程,並幫助教師/學生在課堂環境中教授/學習Web應用程式安全性。 DVWA的目標是透過簡單直接的介面練習一些最常見的Web漏洞,難度各不相同。請注意,該軟體中

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強大的PHP整合開發環境