webpack chunkFilename设置name后不生效,id 生效

2023-10-29

preface

最近又开启新项目了,以之前的某个项目为基础搭建, 我进行了优化。

遇到了 chunkfilename name 配置后不生效

之前配置

  • webpack ^2.6.1
  • webpack 配置
 output: {
    path: config.build.assetsRoot,
    filename: utils.assetsPath('js/[name].[chunkhash].js'),
    chunkFilename: utils.assetsPath('js/[name].[chunkhash].js')
    // chunkFilename: utils.assetsPath('js/[id].[chunkhash].js')
  },
  • 路由配置
/**
 * 优惠券路由
 */

export default [
  {
    path: 'channel-manage',
    name: 'CouponChannelManage',
    meta: {
      title: '渠道管理',
      perm: 'channel:manage'
    },
    component: () => import( /* webpackChunkName="my-chunk-name" */ '@/pages/app/Coupon/ChannelManage')
  },
  {
    path: 'recharge-pkg', name: 'CouponRechargePackage',
    meta: {
      title: '充值套餐',
      perm: 'recharge:pkg'
    },
    component: () => import( /* webpackChunkName="my-chunk-name" */ '../../src/pages/app/Coupon/RechargePackage')
  },
  {
    path: 'recharge-record',
    name: 'CouponRechargeRecord',
    meta: {
      title: '充值记录',
      perm: 'recharge:record'
    },
    component: () => import( /* webpackChunkName="my-chunk-name" */ '@/pages/app/Coupon/RechargeRecord')
  },
  {
    path: 'distribute-rcd',
    name: 'CouponDistributeRecord',
    meta: {
      title: '发放记录',
      perm: 'distribute:rcd'
    },
    component: () => import( /* webpackChunkName="my-chunk-name" */ '@/pages/app/Coupon/DistributeRecord')
  },

]

现象

显然 chunkfilename 设置没有生效
在这里插入图片描述

解决方案

原因没找到,
把引入方式 修改为 require.ensure 方式即可
有网友说 @ alias 引起的问题, 但是我尝试了使用 相对路径没有解决问题

语法: require.ensure(dependencies: String[], callback: function(require), chunkName: String)

修改 router 引入方式

/**
 * 优惠券路由
 */

/**
 * 优惠券路由
 */

export default [
  {
    path: 'channel-manage',
    name: 'CouponChannelManage',
    meta: {
      title: '渠道管理',
      perm: 'channel:manage'
    },
    component: r => require.ensure([], function (require) {
      r(require('@/pages/app/Coupon/ChannelManage'))
    }, 'coupon')
  },
  {
    path: 'recharge-pkg', name: 'CouponRechargePackage',
    meta: {
      title: '充值套餐',
      perm: 'recharge:pkg'
    },
    component: r => require.ensure([], function (require) {
      r(require('@/pages/app/Coupon/RechargePackage'))
    }, 'coupon')
  },
  {
    path: 'recharge-record',
    name: 'CouponRechargeRecord',
    meta: {
      title: '充值记录',
      perm: 'recharge:record'
    },
    component: r => require.ensure([], function (require) {
      r(require('@/pages/app/Coupon/RechargeRecord'))
    }, 'coupon')
  },
  {
    path: 'distribute-rcd',
    name: 'CouponDistributeRecord',
    meta: {
      title: '发放记录',
      perm: 'distribute:rcd'
    },
    component: r => require.ensure([], function (require) {
      r(require('@/pages/app/Coupon/DistributeRecord'))
    }, 'coupon')
  }
]

结果

显然设置成功了
在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

webpack chunkFilename设置name后不生效,id 生效 的相关文章

随机推荐

  • 【乌拉喵.教程】不同负载下继电器的保护电路设计(解决继电器触点粘接的问题)

    最近将多年来收集到的教学视频 国内外图书 源码等整理整合拿出来 涉及arm Linux python 信号完整性 FPFA DSP 算法 stm32 单片机 制图 电子模块 kali 出版社图书等 资料目前约1 5TB 详情 1 5TB 电
  • 当Selenium遇到TestNG

    当Selenium遇到TestNG 用 Selenium 测试 Web 页面时 所重现的各种行为依赖于测试人员的输入参数 例如 选择下拉餐单的项目 在文本框中输入字符等 不同的测试用例对应不同的输入 若有方法能够简单 有效的传入测试用参数
  • 图片自适应屏幕大小的css写法

    如果想让图片自适应屏幕的小而不是宽高固定不变可以在css代码里加入 img height auto width auto 9 width 100 用max width设置如果图片尺寸大于当前浏览器尺寸就自动缩放 图片的高度设置正比缩放 但是
  • 设计模式七大原则详解

    文章目录 一 java为什么要有设计模式 二 设计模式七大原则 三 单一职责原则 四 接口隔离原则 五 依赖倒转原则 六 里氏替换原则 七 开闭原则 八 迪米特法则 一 java为什么要有设计模式 写代码就像建楼房一样 要考虑到它后期是否以
  • 从0开始学go第四天

    模板继承 继承根模板 重新定义 块模板 Go Web开发系列教程 07 Go模板继承 哔哩哔哩 bilibili 解析模板时 base模板要在前 渲染模板时 要用ExecuteTemplate 而不是Excute 模板补充 Go语言标准库之
  • 电子竞赛项目回顾——基于多物料识别分拣的离线式监管工业流水线系统

    1 项目简介 本项目融合了工业物联网技术 FPGA图像处理等技术 针对工业流水线上的多物料分拣 提出了一种自下而上全自动化式 工厂监管离线式的解决方案 工厂内部所有的控制层 感知层均通过无线传输层与工厂总控主机相连 同时主机实时将工厂运行的
  • linux之关机、重启命令

    Linux几种关机 重启 相关命令 在linux下一些常用的关机 重启命令有shutdown halt reboot 及init 它们都可以达到重启系统的目的 但每个命令的内部工作过程是不同的 通过本文的介绍 希望你可以更加灵活的运用各种关
  • Tree 【POJ - 3237】【树链剖分+一些特殊的处理】

    题目链接 这道题 说来还的确困扰了我一个多小时 当时就在想 我该如何处理那些边权 我将边化为点 以及点 默认权值为0 的取相反数后的处理 因为点取相反数之后还是0 会困扰到那些边的 然后 我想到了 如果这段区间的返回的值为0 那么就说明了肯
  • podman 是什么?和 docker 有什么区别?

    什么是 podman Podman 是一种无守护进程的容器引擎 可以创建 管理和运行 OCI 容器 容器可以以非 root 身份运行 也可以使用 root 身份运行 Podman 是由 Red Hat 开发 从 Red Hat Enterp
  • 【BAT 多IF条件实例】

    echo off start 设置常用过滤关键字 set key1 202008 set key2 202009 set key3 20200919 打印出常用关键字 echo 1 key1 2 key2 3 key3 读取用户输入 set
  • Android Studio Git功能使用

    Android Studio Git功能使用 简介 常用功能 提交代码到远程分支 合并分支代码 拉新分支 简介 在Android Studio中使用自带的Git管理工具来进行版本管理 可以轻松应对需要频繁进行本地分支和远程分支操作的项目 比
  • 成功解决pip/conda install cartopy安装失败问题

    使用pip 或conda 安装cartopy pip install cartopy 报错 ERROR Command errored out with exit status 1 command home mlli anaconda3 e
  • 前端学习笔记

    笔记 小知识 V ON绑定事件 V BIND绑定属性 Network中可以查看当前发起的请求 XHR这个标签出现在Chrome浏览器的开发者工具Network选项卡中 XHR类型即通过XMLHttpRequest方法发送的请求即AJAX请求
  • (React入门)状态state与属性props

    状态 State State介绍 状态 state 使用this state来引用 state本身就是状态的意思 状态指的是事物所处的状况 状况就是环境 通常使用state存储简单的视图状态 比如说下拉框是否显示 单选 是否选中 或者需要自
  • try-catch和throw,throws的区别和联系

    区别一 throw 是语句抛出一个异常 throws 是方法抛出一个异常 throw语法 throw lt 异常对象 gt 在方法声明中 添加throws子句表示该方法将抛出异常 如果一个方法会有异常 但你并不想处理这个异常 就在方法名后面
  • 【牛客面试必刷TOP101】Day4.BM15删除有序链表中重复的元素-I和BM17二分查找-I

    作者简介 大家好 我是未央 博客首页 未央 303 系列专栏 牛客面试必刷TOP101 每日一句 人的一生 可以有所作为的时机只有一次 那就是现在 文章目录 前言 一 删除有序链表中重复的元素 I 题目描述 解题分析 二 二分查找 I 题目
  • java与数据库数据加密方法

    1 java测试加密代码 AES和HEX加密及解密工具类 AES加解密字符串工具类 public class AesEncrypt public static void main String args String aes en aes
  • mysql数据库总结_mysql数据库总结

    1 root localhost yum y install mysql mysql server 利用yum在线安装mysql数据库 2 root localhost chkconfig mysqld on 设置开机启动mysqld服务
  • Android网络请求,全方位优雅解析

    网络请求的基本流程 网络请求步骤 用户输入一个网址到网页最终展现到用户面前 大致流程总结如下 在客户端浏览器中输入网址URL 发送到DNS 域名服务器 获得域名对应的WEB服务器的IP地址 客户端浏览器与WEB服务器建立TCP 传输控制协议
  • webpack chunkFilename设置name后不生效,id 生效

    preface 最近又开启新项目了 以之前的某个项目为基础搭建 我进行了优化 遇到了 chunkfilename name 配置后不生效 之前配置 webpack 2 6 1 webpack 配置 output path config bu