主頁 > 企業開發 > vue.config.js在生產構建中顯示不同的塊和大小

vue.config.js在生產構建中顯示不同的塊和大小

2022-05-16 00:05:09 企業開發

我已將我的應用程式從webpack升級到[email protected]但是,我在生產構建輸出中得到了不同大小和不同數量的塊。

vue.config.js

    'use strict'
    const path = require('path')
    const defaultSettings = require('./src/settings.js')
    
    function resolve(dir) {
      return path.join(__dirname, dir)
    }
    
    const name = defaultSettings.title || 'Product Title' // page title
    
    const port = process.env.port || process.env.npm_config_port || 9527 // dev port
    
    
    module.exports = {
      runtimeCompiler: true,
      publicPath: '/',
      outputDir: 'dist',
      assetsDir: 'static',
      lintOnSave: false,
      productionSourceMap: false,
      devServer: {
        host: 'project.localhost',
        disableHostCheck: false,
        port: port,
        https: true,
        open: true,
        compress: true,
        overlay: {
          warnings: false,
          errors: true,
        },
      },
      css: { extract: true },
      configureWebpack: {
        name: name,
        resolve: {
          alias: {
            '@': resolve('src'),
          },
        },
      },
      chainWebpack(config) {
        config.plugin('html').tap((args) => {
          args[0].filename = 'index.html'
          args[0].template = 'index.html'
          args[0].favicon = resolve('favicon.ico')
          args[0].title = 'Product Title'
          args[0].templateParameters = {
            BASE_URL: '/static',
          }
          return args
        })
        config.plugin('preload').tap(() => [
          {
            rel: 'preload',
            // to ignore runtime.js
            // https://github.com/vuejs/vue-cli/blob/dev/packages/@vue/cli-service/lib/config/app.js#L171
            fileBlacklist: [/\.map$/, /hot-update\.js$/, /runtime\..*\.js$/],
            include: 'initial',
          },
        ])
    
        // when there are many pages, it will cause too many meaningless requests
        config.plugins.delete('prefetch')
    
        // thumbnail url loader
        config.module
          .rule('images')
          .exclude.add(resolve('src/icons'))
          .end()
          .use('url-loader')
          .tap((options) => {
            options.limit = 10000
            return options
          })
        // set svg-sprite-loader
        config.module.rule('svg').exclude.add(resolve('src/icons')).end()
        config.module
          .rule('icons')
          .test(/\.svg$/)
          .include.add(resolve('src/icons'))
          .end()
          .use('svg-sprite-loader')
          .loader('svg-sprite-loader')
          .options({
            symbolId: 'icon-[name]',
          })
          .end()
    
        config.when(process.env.NODE_ENV !== 'development', (config) => {
          config
            .plugin('ScriptExtHtmlWebpackPlugin')
            .after('html')
            .use('script-ext-html-webpack-plugin', [
              {
                // `runtime` must same as runtimeChunk name. default is `runtime`
                inline: /runtime\..*\.js$/,
              },
            ])
            .end()
          config.optimization.splitChunks({
            chunks: 'all',
            cacheGroups: {
              libs: {
                name: 'chunk-libs',
                test: /[\\/]node_modules[\\/]/,
                priority: 10,
                chunks: 'initial', // only package third parties that are initially dependent
              },
              elementUI: {
                name: 'chunk-elementUI', // split elementUI into a single package
                priority: 20, // the weight needs to be larger than libs and app or it will be packaged into libs or app
                test: /[\\/]node_modules[\\/]_?element-ui(.*)/, // in order to adapt to cnpm
              },
              commons: {
                name: 'chunk-commons',
                test: resolve('src/components'), // can customize your rules
                minChunks: 3, //  minimum common number
                priority: 5,
                reuseExistingChunk: true,
              },
            },
          })
          // https:// webpack.js.org/configuration/optimization/#optimizationruntimechunk
          config.optimization.runtimeChunk('single')
        })
      },
    }

輸出如下:

輸出-1

?  Building for dev...

 WARNING  Compiled with 3 warnings                                                                                                                                3:32:20 PM

 warning  

asset size limit: The following asset(s) exceed the recommended size limit (244 KiB).
This can impact web performance.
Assets: 
  static/img/fa-brands-400.1d5619cd.svg (730 KiB)
  static/img/fa-solid-900.37bc7099.svg (897 KiB)
  static/img/fontawesome-webfont.912ec66d.svg (434 KiB)
  static/js/app.57cf5156.js (857 KiB)
  static/js/chunk-elementUI.2bd32906.js (698 KiB)
  static/js/chunk-libs.b0b64aa5.js (4.87 MiB)

 warning  

entrypoint size limit: The following entrypoint(s) combined asset size exceeds the recommended limit (244 KiB). This can impact web performance.
Entrypoints:
  app (6.89 MiB)
      static/css/chunk-elementUI.68c70ad5.css
      static/js/chunk-elementUI.2bd32906.js
      static/css/chunk-libs.99e7fe66.css
      static/js/chunk-libs.b0b64aa5.js
      static/css/app.e4736649.css
      static/js/app.57cf5156.js


 warning  

webpack performance recommendations: 
You can limit the size of your bundles by using import() or require.ensure to lazy load some parts of your application.
For more info visit https://webpack.js.org/guides/code-splitting/

  File                                            Size                                                        Gzipped

  dist/static/js/chunk-libs.b0b64aa5.js           4987.71 KiB                                                 1731.28 KiB
  dist/static/js/app.57cf5156.js                  856.52 KiB                                                  254.17 KiB
  dist/static/js/chunk-elementUI.2bd32906.js      697.86 KiB                                                  170.93 KiB
  dist/static/css/chunk-elementUI.68c70ad5.css    227.82 KiB                                                  34.54 KiB
  dist/static/css/chunk-libs.99e7fe66.css         190.53 KiB                                                  38.37 KiB
  dist/static/css/app.e4736649.css                98.98 KiB                                                   19.17 KiB

  Images and other types of assets omitted.

輸出 2(預期)

?  Building for dev...

 WARNING  Compiled with 2 warnings                                                                                                                                2:53:57 PM

 warning  

asset size limit: The following asset(s) exceed the recommended size limit (244 KiB).
This can impact web performance.
Assets: 
  static/img/fa-brands-400.1d5619cd.svg (730 KiB)
  static/img/fa-solid-900.37bc7099.svg (897 KiB)
  static/img/fontawesome-webfont.912ec66d.svg (434 KiB)
  static/js/chunk-20bce5cc.30df4307.js (995 KiB)
  static/js/chunk-57fa210c.c3888579.js (1.07 MiB)
  static/js/chunk-a65568da.4fdf6ed9.js (338 KiB)
  static/js/chunk-elementUI.4a643ef0.js (698 KiB)
  static/js/chunk-libs.00525053.js (2.83 MiB)

 warning  

entrypoint size limit: The following entrypoint(s) combined asset size exceeds the recommended limit (244 KiB). This can impact web performance.
Entrypoints:
  app (4.15 MiB)
      static/css/chunk-elementUI.68c70ad5.css
      static/js/chunk-elementUI.4a643ef0.js
      static/css/chunk-libs.8f8abf3a.css
      static/js/chunk-libs.00525053.js
      static/css/app.d7f6f6a5.css
      static/js/app.c079bf5b.js


  File                                            Size                                                        Gzipped

  dist/static/js/chunk-libs.00525053.js           2898.95 KiB                                                 1040.47 KiB
  dist/static/js/chunk-57fa210c.c3888579.js       1091.28 KiB                                                 457.60 KiB
  dist/static/js/chunk-20bce5cc.30df4307.js       994.52 KiB                                                  211.99 KiB
  dist/static/js/chunk-elementUI.4a643ef0.js      697.86 KiB                                                  170.93 KiB
  dist/static/js/chunk-a65568da.4fdf6ed9.js       337.52 KiB                                                  86.54 KiB
  dist/static/js/app.c079bf5b.js                  211.37 KiB                                                  62.93 KiB
  dist/static/js/chunk-31981e0b.7613ba04.js       193.49 KiB                                                  65.62 KiB
  dist/static/js/chunk-60d45dd8.839e76cd.js       61.93 KiB                                                   14.38 KiB
  dist/static/js/chunk-3414ce86.37c45259.js       31.89 KiB                                                   5.23 KiB
  dist/static/js/chunk-b5efe21a.a3395984.js       7.96 KiB                                                    5.78 KiB
  dist/static/js/chunk-2d229048.78f49061.js       5.97 KiB                                                    1.79 KiB
  dist/static/js/chunk-6a52c0e3.a3d9d20a.js       3.24 KiB                                                    1.30 KiB
  dist/static/js/chunk-2d0d05e9.65c51df1.js       2.73 KiB                                                    1.15 KiB
  dist/static/js/chunk-be8bf048.fd1f66f4.js       2.05 KiB                                                    0.77 KiB
  dist/static/js/chunk-c17e5704.f75ec1f8.js       1.59 KiB                                                    0.86 KiB
  dist/static/js/chunk-4dd1ff3c.ee95460a.js       0.93 KiB                                                    0.53 KiB
  dist/static/js/chunk-595d9256.91c103e6.js       0.90 KiB                                                    0.49 KiB
  dist/static/js/chunk-2d0f0fdf.cb0ff0f4.js       0.47 KiB                                                    0.34 KiB
  dist/static/css/chunk-elementUI.68c70ad5.css    227.82 KiB                                                  34.54 KiB
  dist/static/css/chunk-libs.8f8abf3a.css         184.58 KiB                                                  37.35 KiB
  dist/static/css/chunk-595d9256.8fe9727b.css     32.46 KiB                                                   5.97 KiB
  dist/static/css/app.d7f6f6a5.css                27.21 KiB                                                   5.77 KiB
  dist/static/css/chunk-a65568da.8c917c68.css     16.77 KiB                                                   4.25 KiB
  dist/static/css/chunk-31981e0b.86a967f6.css     15.52 KiB                                                   4.04 KiB
  dist/static/css/chunk-57fa210c.bda1da5f.css     5.95 KiB                                                    1.36 KiB
  dist/static/css/chunk-b5efe21a.664d5134.css     4.65 KiB                                                    0.83 KiB
  dist/static/css/chunk-60d45dd8.c1d37798.css     4.08 KiB                                                    1.35 KiB
  dist/static/css/chunk-3414ce86.5b57b7c1.css     1.91 KiB                                                    0.70 KiB
  dist/static/css/chunk-c17e5704.e29807c0.css     0.71 KiB                                                    0.28 KiB
  dist/static/css/chunk-6a52c0e3.1f0ed01a.css     0.05 KiB                                                    0.07 KiB

  Images and other types of assets omitted.

我也嘗試過克隆新鮮的回購。但有時它有預期的結果,大多數時候它有意想不到的輸出。

差異

  • 內置大小不同(輸出 2: 4.15 MiB)和(輸出 1: 6.82 MiB)
  • 塊數不同(Output-2: 12-CSS,18-JS)和(Output-1: 3-CSS,3-JS)
  • 使用 Output-1,生產版本不接受.env.production配置

uj5u.com熱心網友回復:

從 webpack build 更新到 vue-cli build 后出現問題。我已經通過洗掉舊的靜態檔案夾來修復。

轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/474858.html

標籤:javascript Vue.js 网页包 Vue-cli webpack-splitchunks

上一篇:使用v-bind:hrefrequire()時,Vue3組件不會在生產中呈現

下一篇:Webpack無法解釋檔案?

標籤雲
其他(157675) Python(38076) JavaScript(25376) Java(17977) C(15215) 區塊鏈(8255) C#(7972) AI(7469) 爪哇(7425) MySQL(7132) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5869) 数组(5741) R(5409) Linux(5327) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4554) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2429) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1958) Web開發(1951) python-3.x(1918) HtmlCss(1915) 弹簧靴(1913) C++(1909) xml(1889) PostgreSQL(1872) .NETCore(1853) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • IEEE1588PTP在數字化變電站時鐘同步方面的應用

    IEEE1588ptp在數字化變電站時鐘同步方面的應用 京準電子科技官微——ahjzsz 一、電力系統時間同步基本概況 隨著對IEC 61850標準研究的不斷深入,國內外學者提出基于IEC61850通信標準體系建設數字化變電站的發展思路。數字化變電站與常規變電站的顯著區別在于程序層傳統的電流/電壓互 ......

    uj5u.com 2020-09-10 03:51:52 more
  • HTTP request smuggling CL.TE

    CL.TE 簡介 前端通過Content-Length處理請求,通過反向代理或者負載均衡將請求轉發到后端,后端Transfer-Encoding優先級較高,以TE處理請求造成安全問題。 檢測 發送如下資料包 POST / HTTP/1.1 Host: ac391f7e1e9af821806e890 ......

    uj5u.com 2020-09-10 03:52:11 more
  • 網路滲透資料大全單——漏洞庫篇

    網路滲透資料大全單——漏洞庫篇漏洞庫 NVD ——美國國家漏洞庫 →http://nvd.nist.gov/。 CERT ——美國國家應急回應中心 →https://www.us-cert.gov/ OSVDB ——開源漏洞庫 →http://osvdb.org Bugtraq ——賽門鐵克 →ht ......

    uj5u.com 2020-09-10 03:52:15 more
  • 京準講述NTP時鐘服務器應用及原理

    京準講述NTP時鐘服務器應用及原理京準講述NTP時鐘服務器應用及原理 安徽京準電子科技官微——ahjzsz 北斗授時原理 授時是指接識訓通過某種方式獲得本地時間與北斗標準時間的鐘差,然后調整本地時鐘使時差控制在一定的精度范圍內。 衛星導航系統通常由三部分組成:導航授時衛星、地面檢測校正維護系統和用戶 ......

    uj5u.com 2020-09-10 03:52:25 more
  • 利用北斗衛星系統設計NTP網路時間服務器

    利用北斗衛星系統設計NTP網路時間服務器 利用北斗衛星系統設計NTP網路時間服務器 安徽京準電子科技官微——ahjzsz 概述 NTP網路時間服務器是一款支持NTP和SNTP網路時間同步協議,高精度、大容量、高品質的高科技時鐘產品。 NTP網路時間服務器設備采用冗余架構設計,高精度時鐘直接來源于北斗 ......

    uj5u.com 2020-09-10 03:52:35 more
  • 詳細解讀電力系統各種對時方式

    詳細解讀電力系統各種對時方式 詳細解讀電力系統各種對時方式 安徽京準電子科技官微——ahjzsz,更多資料請添加VX 衛星同步時鐘是我京準公司開發研制的應用衛星授時時技術的標準時間顯示和發送的裝置,該裝置以M國全球定位系統(GLOBAL POSITIONING SYSTEM,縮寫為GPS)或者我國北 ......

    uj5u.com 2020-09-10 03:52:45 more
  • 如何保證外包團隊接入企業內網安全

    不管企業規模的大小,只要企業想省錢,那么企業的某些服務就一定會采用外包的形式,然而看似美好又經濟的策略,其實也有不好的一面。下面我通過安全的角度來聊聊使用外包團的安全隱患問題。 先看看什么服務會使用外包的,最常見的就是話務/客服這種需要大量重復性、無技術性的服務,或者是一些銷售外包、特殊的職能外包等 ......

    uj5u.com 2020-09-10 03:52:57 more
  • PHP漏洞之【整型數字型SQL注入】

    0x01 什么是SQL注入 SQL是一種注入攻擊,通過前端帶入后端資料庫進行惡意的SQL陳述句查詢。 0x02 SQL整型注入原理 SQL注入一般發生在動態網站URL地址里,當然也會發生在其它地發,如登錄框等等也會存在注入,只要是和資料庫打交道的地方都有可能存在。 如這里http://192.168. ......

    uj5u.com 2020-09-10 03:55:40 more
  • [GXYCTF2019]禁止套娃

    git泄露獲取原始碼 使用GET傳參,引數為exp 經過三層過濾執行 第一層過濾偽協議,第二層過濾帶引數的函式,第三層過濾一些函式 preg_replace('/[a-z,_]+\((?R)?\)/', NULL, $_GET['exp'] (?R)參考當前正則運算式,相當于匹配函式里的引數 因此傳遞 ......

    uj5u.com 2020-09-10 03:56:07 more
  • 等保2.0實施流程

    流程 結論 ......

    uj5u.com 2020-09-10 03:56:16 more
最新发布
  • 使用Django Rest framework搭建Blog

    在前面的Blog例子中我們使用的是GraphQL, 雖然GraphQL的使用處于上升趨勢,但是Rest API還是使用的更廣泛一些. 所以還是決定回到傳統的rest api framework上來, Django rest framework的官網上給了一個很好用的QuickStart, 我參考Qu ......

    uj5u.com 2023-04-20 08:17:54 more
  • 記錄-new Date() 我忍你很久了!

    這里給大家分享我在網上總結出來的一些知識,希望對大家有所幫助 大家平時在開發的時候有沒被new Date()折磨過?就是它的諸多怪異的設定讓你每每用的時候,都可能不小心踩坑。造成程式意外出錯,卻一下子找不到問題出處,那叫一個煩透了…… 下面,我就列舉它的“四宗罪”及應用思考 可惡的四宗罪 1. Sa ......

    uj5u.com 2023-04-20 08:17:47 more
  • 使用Vue.js實作文字跑馬燈效果

    實作文字跑馬燈效果,首先用到 substring()截取 和 setInterval計時器 clearInterval()清除計時器 效果如下: 實作代碼如下: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta ......

    uj5u.com 2023-04-20 08:12:31 more
  • JavaScript 運算子

    JavaScript 運算子/運算子 在 JavaScript 中,有一些運算子可以使代碼更簡潔、易讀和高效。以下是一些常見的運算子: 1、可選鏈運算子(optional chaining operator) ?.是可選鏈運算子(optional chaining operator)。?. 可選鏈操 ......

    uj5u.com 2023-04-20 08:02:25 more
  • CSS—相對單位rem

    一、概述 rem是一個相對長度單位,它的單位長度取決于根標簽html的字體尺寸。rem即root em的意思,中文翻譯為根em。瀏覽器的文本尺寸一般默認為16px,即默認情況下: 1rem = 16px rem布局原理:根據CSS媒體查詢功能,更改根標簽的字體尺寸,實作rem單位隨螢屏尺寸的變化,如 ......

    uj5u.com 2023-04-20 08:02:21 more
  • 我的第一個NPM包:panghu-planebattle-esm(胖虎飛機大戰)使用說明

    好家伙,我的包終于開發完啦 歡迎使用胖虎的飛機大戰包!! 為你的主頁添加色彩 這是一個有趣的網頁小游戲包,使用canvas和js開發 使用ES6模塊化開發 效果圖如下: (覺得圖片太sb的可以自己改) 代碼已開源!! Git: https://gitee.com/tang-and-han-dynas ......

    uj5u.com 2023-04-20 08:01:50 more
  • 如何在 vue3 中使用 jsx/tsx?

    我們都知道,通常情況下我們使用 vue 大多都是用的 SFC(Signle File Component)單檔案組件模式,即一個組件就是一個檔案,但其實 Vue 也是支持使用 JSX 來撰寫組件的。這里不討論 SFC 和 JSX 的好壞,這個仁者見仁智者見智。本篇文章旨在帶領大家快速了解和使用 Vu ......

    uj5u.com 2023-04-20 08:01:37 more
  • 【Vue2.x原始碼系列06】計算屬性computed原理

    本章目標:計算屬性是如何實作的?計算屬性快取原理以及洋蔥模型的應用?在初始化Vue實體時,我們會給每個計算屬性都創建一個對應watcher,我們稱之為計算屬性watcher ......

    uj5u.com 2023-04-20 08:01:31 more
  • http1.1與http2.0

    一、http是什么 通俗來講,http就是計算機通過網路進行通信的規則,是一個基于請求與回應,無狀態的,應用層協議。常用于TCP/IP協議傳輸資料。目前任何終端之間任何一種通信方式都必須按Http協議進行,否則無法連接。tcp(三次握手,四次揮手)。 請求與回應:客戶端請求、服務端回應資料。 無狀態 ......

    uj5u.com 2023-04-20 08:01:10 more
  • http1.1與http2.0

    一、http是什么 通俗來講,http就是計算機通過網路進行通信的規則,是一個基于請求與回應,無狀態的,應用層協議。常用于TCP/IP協議傳輸資料。目前任何終端之間任何一種通信方式都必須按Http協議進行,否則無法連接。tcp(三次握手,四次揮手)。 請求與回應:客戶端請求、服務端回應資料。 無狀態 ......

    uj5u.com 2023-04-20 08:00:32 more