IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> JavaScript知识库 -> 【记一次令人头疼的vue多页面分包问题】 -> 正文阅读

[JavaScript知识库]【记一次令人头疼的vue多页面分包问题】

记一次令人头疼的vue多页面分包问题!直接给出分包配置。

webpack相关配置

下面的splitchunks.maxsize会导致build出来的html文件中,没有<script>标签来引用生成的bound.js,打开页面显示空白;去掉maxSize重新build后,能正常显示页面内容。

// config.build.js
optimization: {
        splitChunks: {
          chunks: "all", // initial(初始块)、async(按需加载块)、all(默认,全部块)
          minSize: 30000, // 提取出的新chunk在两次压缩(打包压缩和服务器压缩)之前要大于30kb
          maxSize: 480000,
          cacheGroups: {
            vuetify: {
              test(module) {
                let path = module.resource;
                if (!path) return false;
                path = path.replace(/\\/g, "/");
                return path && /node_modules\/vuetify\//.test(path);
              },
              name: "chunk-vuetify",
              priority: 18,
              // enforce: true,
            },
            vendors: {
              test(module) {
                let path = module.resource;
                if (!path) return true;
                path = path.replace(/\\/g, "/");
                let isNeed = path && /node_modules/.test(path);
                return isNeed;
              },
              name: "chunk-vendors",
              priority: 3,
              chunks: "initial",
              // enforce: true,
            },
            common: {
              name: "chunk-common",
              minChunks: 2,
              minSize: 30000,
              reuseExistingChunk: true,
            },
          },
        },
      },

使用maxsize build出来的文件展示

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width,initial-scale=1" />
    <link rel="icon" href="/favicon.ico" />
    <title>xxxxx软件</title>
    <link
      rel="stylesheet"
      href="https://fonts.googleapis.com/css?family=Roboto:100,300,400,500,700,900"
    />
    <link
      rel="stylesheet"
      href="https://cdn.jsdelivr.net/npm/@mdi/font@latest/css/materialdesignicons.min.css"
    />
    <link href="/assets/css/chunk-291204bc.164fd56a.css" rel="prefetch" />
    <link href="/assets/css/chunk-62b6f152.0e8e9fce.css" rel="prefetch" />
    <link href="/assets/js/chunk-291204bc.8cf041f3.js" rel="prefetch" />
    <link href="/assets/js/chunk-2d0c1d17.3ed860d9.js" rel="prefetch" />
    <link href="/assets/js/chunk-62b6f152.4e81a6c5.js" rel="prefetch" />
    <link
      href="/assets/css/chunk-vendors~4a7e9e0b.8e7dcc04.css"
      rel="preload"
      as="style"
    />
    <link
      href="/assets/css/chunk-vendors~6cfee264.439cd68a.css"
      rel="preload"
      as="style"
    />
    <link
      href="/assets/js/chunk-vendors~205977d4.d4cd2456.js"
      rel="preload"
      as="script"
    />
    <link
      href="/assets/js/chunk-vendors~4a7e9e0b.badc1293.js"
      rel="preload"
      as="script"
    />
    <link
      href="/assets/js/chunk-vendors~6cfee264.e182f281.js"
      rel="preload"
      as="script"
    />
    <link
      href="/assets/js/chunk-vendors~d0ae3f07.ea8755aa.js"
      rel="preload"
      as="script"
    />
    <link
      href="/assets/js/chunk-vendors~fdc6512a.0d2995df.js"
      rel="preload"
      as="script"
    />
    <link
      href="/assets/js/chunk-vuetify~dde583c9.346afa57.js"
      rel="preload"
      as="script"
    />
    <link
      href="/assets/js/index~3364b0b4.08b2434b.js"
      rel="preload"
      as="script"
    />
  </head>
  <body>
    <noscript
      ><strong
        >We're sorry but xxxx软件 doesn't work properly without JavaScript
        enabled. Please enable it to continue.</strong
      ></noscript
    >
    <div id="app"></div>
  </body>
</html>

可以看到上面没有script标签来引用index~3364b0b4.08b2434b.js文件

maxsize注释掉之后的build出来的html文件展示

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width,initial-scale=1" />
    <link rel="icon" href="/favicon.ico" />
    <title>xxxx软件</title>
    <link
      rel="stylesheet"
      href="https://fonts.googleapis.com/css?family=Roboto:100,300,400,500,700,900"
    />
    <link
      rel="stylesheet"
      href="https://cdn.jsdelivr.net/npm/@mdi/font@latest/css/materialdesignicons.min.css"
    />
    <link href="/assets/css/chunk-291204bc.164fd56a.css" rel="prefetch" />
    <link href="/assets/css/chunk-62b6f152.0e8e9fce.css" rel="prefetch" />
    <link href="/assets/js/chunk-291204bc.4a26b278.js" rel="prefetch" />
    <link href="/assets/js/chunk-2d0c1d17.9a71d556.js" rel="prefetch" />
    <link href="/assets/js/chunk-62b6f152.2e1a35d7.js" rel="prefetch" />
    <link
      href="/assets/css/chunk-vendors.1e003fbe.css"
      rel="preload"
      as="style"
    />
    <link
      href="/assets/js/chunk-vendors.d3815cfd.js"
      rel="preload"
      as="script"
    />
    <link
      href="/assets/js/chunk-vuetify.7efe71f6.js"
      rel="preload"
      as="script"
    />
    <link href="/assets/js/index.bb23f5d6.js" rel="preload" as="script" />
    <link href="/assets/css/chunk-vendors.1e003fbe.css" rel="stylesheet" />
  </head>
  <body>
    <noscript
      ><strong
        >We're sorry but xxxx软件 doesn't work properly without JavaScript
        enabled. Please enable it to continue.</strong
      ></noscript
    >
    <div id="app"></div>
    <script src="/assets/js/chunk-vendors.d3815cfd.js"></script>
    <script src="/assets/js/index.bb23f5d6.js"></script>
  </body>
</html>

maxsize去掉之后页面能成功加载。不知道这是为啥,求懂哥支援。

  JavaScript知识库 最新文章
ES6的相关知识点
react 函数式组件 & react其他一些总结
Vue基础超详细
前端JS也可以连点成线(Vue中运用 AntVG6)
Vue事件处理的基本使用
Vue后台项目的记录 (一)
前后端分离vue跨域,devServer配置proxy代理
TypeScript
初识vuex
vue项目安装包指令收集
上一篇文章      下一篇文章      查看所有文章
加:2022-02-22 20:29:58  更:2022-02-22 20:30:44 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 10:56:02-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码