目錄
如何配置Vue CLI以使用不同的構建目標(開發,生產)?
如何在Vue CLI中的開發環境和生產環境之間切換?
我應該在Vue CLI中調整哪些設置以優化生產構建?
我如何確保我的開發在Vue CLI中構建,包括源地圖,以更輕鬆的調試?
首頁 web前端 Vue.js 如何配置Vue CLI以使用不同的構建目標(開發,生產)?

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

Mar 18, 2025 pm 12:34 PM

如何配置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

熱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

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

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Java教學
1653
14
CakePHP 教程
1413
52
Laravel 教程
1304
25
PHP教程
1251
29
C# 教程
1224
24
Vue.js 字符串轉對象的的方法是什麼? Vue.js 字符串轉對象的的方法是什麼? Apr 07, 2025 pm 09:18 PM

使用 JSON.parse() 字符串轉對象最安全高效:確保字符串符合 JSON 規範,避免常見錯誤。使用 try...catch 處理異常,提升代碼健壯性。避免使用 eval() 方法,存在安全風險。對於巨大 JSON 字符串,可考慮分塊解析或異步解析以優化性能。

vue中怎麼用bootstrap vue中怎麼用bootstrap Apr 07, 2025 pm 11:33 PM

在 Vue.js 中使用 Bootstrap 分為五個步驟:安裝 Bootstrap。在 main.js 中導入 Bootstrap。直接在模板中使用 Bootstrap 組件。可選:自定義樣式。可選:使用插件。

vue.js vs.反應:特定於項目的考慮因素 vue.js vs.反應:特定於項目的考慮因素 Apr 09, 2025 am 12:01 AM

Vue.js適合中小型項目和快速迭代,React適用於大型複雜應用。 1)Vue.js易於上手,適用於團隊經驗不足或項目規模較小的情況。 2)React的生態系統更豐富,適合有高性能需求和復雜功能需求的項目。

Vue.js很難學習嗎? Vue.js很難學習嗎? Apr 04, 2025 am 12:02 AM

Vue.js不難學,特別是對於有JavaScript基礎的開發者。 1)其漸進式設計和響應式系統簡化了開發過程。 2)組件化開發讓代碼管理更高效。 3)使用示例展示了基本和高級用法。 4)常見錯誤可以通過VueDevtools調試。 5)性能優化和最佳實踐如使用v-if/v-show和key屬性可提升應用效率。

vue怎麼給按鈕添加函數 vue怎麼給按鈕添加函數 Apr 08, 2025 am 08:51 AM

可以通過以下步驟為 Vue 按鈕添加函數:將 HTML 模板中的按鈕綁定到一個方法。在 Vue 實例中定義該方法並編寫函數邏輯。

如何設置Vue Axios的超時時間 如何設置Vue Axios的超時時間 Apr 07, 2025 pm 10:03 PM

為了設置 Vue Axios 的超時時間,我們可以創建 Axios 實例並指定超時選項:在全局設置中:Vue.prototype.$axios = axios.create({ timeout: 5000 });在單個請求中:this.$axios.get('/api/users', { timeout: 10000 })。

vue中的watch怎麼用 vue中的watch怎麼用 Apr 07, 2025 pm 11:36 PM

Vue.js 中的 watch 選項允許開發者監聽特定數據的變化。當數據發生變化時,watch 會觸發一個回調函數,用於執行更新視圖或其他任務。其配置選項包括 immediate,用於指定是否立即執行回調,以及 deep,用於指定是否遞歸監聽對像或數組的更改。

VUE是用於前端還是後端? VUE是用於前端還是後端? Apr 03, 2025 am 12:07 AM

Vue.js主要用於前端開發。 1)它是一個輕量級且靈活的JavaScript框架,專注於構建用戶界面和單頁面應用。 2)Vue.js的核心是其響應式數據系統,數據變化時視圖自動更新。 3)它支持組件化開發,UI可拆分為獨立、可複用的組件。

See all articles