当前位置: 首页 > news >正文

webpack 的一点知识

多个入口共享多个模块

在使用webpack搭建多页面应用时候需要多个入口,这个时候需要考虑到模块共享问题了
可以使用entry.dependOn 来处理

entry: {home: {import: "./pages/home/index.js",// 其中vendors里边使用到模块,不会打入home对应的chunk当中了dependOn: 'vendors'},articles_detail: "./pages/articles/detail.js",articles_index: "./pages/articles/index.js",about: "./pages/mine/about/index.js",album: "./pages/mine/album/index.js",navigation: "./pages/navigation/index.js",// 共享的入口vendors: ['jquery'],},

需要处理的问题
记得引入的html文件,其中chunks需要有vendors 否则不会被引入html文件,但是如果不写chunks,则所有的chunk都会被引入该html文件

 new HtmlWebpackPlugin({template: path.join(__dirname, "src/pages/home/index.html"),filename: "pages/home.html",chunks: ["home", "vendors"],title: '首页',conpress: true}),

给单独某个入口指定chunk名称

可以通过里边的filename来指定

 home: {import: "./pages/home/index.js",filename: 'pages/home/[name].js',dependOn: 'vendors'},

给所有的模块输出默认路径

 output: {// 这个是指定了所有资源的输出基本路径path: __dirname + '/dist',// 指定所有chunk默认路径 优先级低于单独给某个入口设置filename: 'script/[name].js',// 导出的通过asset资源管理 输出的文件放的位置assetModuleFilename: './images/[hash][ext][query]'},

给资源管理文件单独设置输出位置

{ // 图片文件test: /\.(png|jpe?g|webp|gif)$/, type: 'asset',generator: {filename: 'static/images/[hash][ext][query]'}
},
{   // 字体等文件test: /\.(eot|svg|ttf|woff2?)$/,type: "asset/resource",generator: {filename: "static/media/[hash:8][ext][query]",},
}

output.publicPath

在将资源放在其他服务器或者cdn托管时候,可以指定路径

Rule.enforce

在对其中loader进行匹配处理时候,
Normal 阶段: loader 上的 常规方法,会按照 前置(pre)、普通(normal)、行内(inline)、后置(post)类别的loader进行 顺序调用。模块源码的转换, 发生在这个阶段
我们可以通过将一个loader 的enforce 指定为pre 让他优先处理模块

// 禁用前置和普通 loaders
import { b } from '-!./file2.js';

output.clean

可以在打包输出之前先清理dist目录,而 clean-webpack-plugin可以选择性的清理,一般情况下设置clean 即可

Rule.generator

publicPath 跟output.publicPath一样都是指定输出的内容前面的字符串
generator.outputPath 指定相对于 output.path 的路径,当然如果没有指定generator.outputPath
直接将filename写成

 filename: 'static/images/[hash][ext][query]'

也是可以创建目录的

{ // 图片文件test: /\.(png|jpe?g|webp|gif)$/, type: 'asset/resource',generator: {outputPath: 'static/images',publicPath: 'fuck',filename: '[hash][ext][query]'}
},

生成的连接

 <img src="fuck88f068a97a175bca5524.png" alt="">

但是存在一个问题(我目前也不知道怎么解决):
如果将目录结构写在outputPath 这个只是将资源放在指定的目录结构里边,但是,路径上并没有携带上这个目录结构,所以需要指定publicPath,

比如将dist作为网站根目录

 publicPath: '/static/images/',outputPath: 'static/images',filename: '[hash][ext][query]'

如果直接将目录卸载filename里边,则创建了目录同时也能正确引入目录结构

相关文章:

webpack 的一点知识

多个入口共享多个模块 在使用webpack搭建多页面应用时候需要多个入口&#xff0c;这个时候需要考虑到模块共享问题了 可以使用entry.dependOn 来处理 entry: {home: {import: "./pages/home/index.js",// 其中vendors里边使用到模块&#xff0c;不会打入home对应的…...

Python 双目摄像机控制(windows + linux)

一、Windows 下载 Download libusb-win32-devel-filter-1.2.6.0.exe (libusb-win32) 安装&#xff0c;在弹出框中选择摄像机usb设备 pip install pyusb pip install libusb 代码如下&#xff0c;注意如果报错要以管理员权限运行&#xff1a; import cv2 import usb.corecam…...

mybatisplus实现自动填充 时间

mybatisplus实现自动填充功能——自动填充时间 数据库表中的字段 创建时间 (createTime)更新时间 (updateTime) 每次 增删改查的时候&#xff0c;需要通过对Entity的字段&#xff08;createTime&#xff0c;updateTime&#xff09;进行set设置&#xff0c;但是&#xff0c;每…...

P5732 【深基5.习7】杨辉三角

题目描述 给出 n ( n ≤ 20 ) n(n\le20) n(n≤20)&#xff0c;输出杨辉三角的前 n n n 行。 如果你不知道什么是杨辉三角&#xff0c;可以观察样例找找规律。 输入格式 输出格式 样例 #1 样例输入 #1 6样例输出 #1 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 11.题目…...

ubuntu调整路由顺序

Ubuntu系统跳转路由顺序 1、安装ifmetric sudo apt install ifmetric2、查看路由 route -n3、把Iface下面的eth1调到第一位 sudo ifmetric eth1 0命令中eth1是网卡的名称&#xff0c;更改网卡eth1的跃点数&#xff08;metric值&#xff09;为0&#xff08;数值越小&#xf…...

集成学习算法是什么?如何理解集成学习?

什么是集成学习&#xff1f; 集成学习通过建立几个模型来解决单一预测问题。它的工作原理是生成多个分类器/模型&#xff0c;各自独立地学习和作出预测。这些预测最后结合成组合预测&#xff0c;因此优于任何一个单分类的做出预测。 机器学习的两个核心任务 任务一&#xff1…...

npm配置最新淘宝镜像

目录 1、设置淘宝镜像2、查看源 1、设置淘宝镜像 默认的官方镜像&#xff1a;https://registry.npmjs.org&#xff0c;切换国内淘宝镜像&#xff0c;访问下载更快。 npm config set registry https://registry.npmmirror.com/其他&#xff0c;如pnpm&#xff1a; pnpm confi…...

网络基础1

文章目录 网络基础11. 计算机网络背景1.1 网路发展1.2 认识 "协议" 2. 网络协议初识2.1 协议分层2.2 OSI七层模型2.3 TCP/IP五层(或四层)模型协议栈与OS的关系 3. 网络传输基本流程3.1 同一个局域网两台主机通信3.2 同一个路由器的两个子网通信 4. 网络中的地址管理4…...

2023年电赛---运动目标控制与自动追踪系统(E题)发挥题思路

前言 &#xff08;1&#xff09;因为博客编辑字数超过1W字会导致MD编辑器非常卡顿。所以我将发挥题和基础题的思路拆开了。 &#xff08;2&#xff09;更新日记&#xff1a; <1>2023年8月4日&#xff0c;9点20分。分离发挥题思路和基础题思路&#xff0c;增加了博主Huiye…...

61 # http 数据处理

node 中的核心模块 http 可以快速的创建一个 web 服务 const http require("http"); const url require("url");// req > request 客户端的所有信息 // res > respone 可以给客户端写入数据 const server http.createServer();server.on("r…...

模版下载和Excel文件导入

模版下载 模版下载 模版下载 /*** 生成模版** param* return AppResponse*/public AppResponse ExcelFile() throws IOException {// 创建一个新的Excel工作簿Workbook workbook new XSSFWorkbook();// 创建一个工作表Sheet sheet workbook.createSheet("页面拨测模板&…...

Datax 数据同步-使用总结(一)

1&#xff0c;实时同步&#xff1f; datax 通常做离线数据同步使用。 目前能想到的方案 利用 linux 的定时任务时间戳的方式做增量同步。 2&#xff0c;同步速度快不快&#xff1f; 单表同步速度还是挺快的 但是如果遇到复杂的 sql 查询&#xff0c;其同步效率&#xff0c…...

代码随想录算法训练营第九天| 232.用栈实现队列,225.用队列实现栈

232. 用栈实现队列 232.用栈实现队列 这里用两个栈来模拟队列以此实现队列的先进先出&#xff0c; 注意点 1.dump()方法将stackin的元素移入到stackout的操作&#xff0c;是要将stackin的全部元素放到stackout中&#xff0c;所以用while循环判断 stackIn是否为空 2.新建栈…...

求解二次方程

描述 编写一个程序&#xff0c;实现求解形如ax^2 bx c 0的二次方程的根。要求使用三个函数分别计算b^2 - 4ac大于0、等于0和小于0时的根&#xff0c;并在主函数中输出结果。 输入 输入三个浮点数a、b和c&#xff0c;分别表示二次方程的系数。 输出 输出二次方程的根&am…...

【hive 运维】hive注释/数据支持中文

文章目录 一. 设置mysql中的hive库二. hive-site.xml 设置三. 测试 hive支持中文需要关注两个方面&#xff1a; 设置hive 元数据库中的一些表设置hive-site.xml. 一. 设置mysql中的hive库 use hivedb; alter table TBLS modify column TBL_NAME varchar(1000) character se…...

架构,性能和游戏 《游戏编程模式》学习笔记

开新坑&#xff0c;准备把《游戏编程模式》这本书啃完。这是一本讲设计模式的书&#xff0c;针对游戏开发而作&#xff0c;写得很好。 以下是读书笔记&#xff0c;文末有原文链接 每个程序都有一定的软件架构&#xff0c;哪怕是全塞到main里也是一种架构好的架构可以把代码写成…...

Spring Bean的生命周期

文章目录 Spring Bean的生命周期加载Bean对象创建Bean对象构造对象填充属性初始化实例注册销毁 销毁 Spring Bean的生命周期 Spring Bean的生命周期就是指Bean对象从创建到销毁的过程&#xff0c;大体可以分为&#xff1a;实例化、属性赋值、初始化、使用、销毁。 加载Bean对象…...

基于量子同态的安全多方量子求和加密

摘要安全多方计算在经典密码学中一直扮演着重要的角色。量子同态加密(QHE)可以在不解密的情况下对加密数据进行计算。目前&#xff0c;大多数协议使用半诚实的第三方(TP)来保护参与者的秘密。我们使用量子同态加密方案代替TP来保护各方的隐私。在量子同态加密的基础上&#xff…...

前端自动化测试:确保质量和稳定性的关键步骤

文章目录 测试金字塔与前端测试层级1. 单元测试&#xff08;Unit Testing&#xff09;2. 组件测试&#xff08;Component Testing&#xff09;3. 集成测试&#xff08;Integration Testing&#xff09;4. 端到端测试&#xff08;End-to-End Testing&#xff09; 单元测试、集成…...

《Ansible自动化工具篇:Centos操作系统基于ansible工具一键远程离线部署之K8S1.24.12二进制版集群》

一、部署背景 由于业务系统的特殊性&#xff0c;我们需要针对不同的客户环境部署二进制版K8S集群&#xff0c;由于大都数用户都是专网环境&#xff0c;无法使用外网&#xff0c;为了更便捷&#xff0c;高效的部署&#xff0c;针对业务系统的特性&#xff0c;我这边编写了 基于a…...

【OSG学习笔记】Day 18: 碰撞检测与物理交互

物理引擎&#xff08;Physics Engine&#xff09; 物理引擎 是一种通过计算机模拟物理规律&#xff08;如力学、碰撞、重力、流体动力学等&#xff09;的软件工具或库。 它的核心目标是在虚拟环境中逼真地模拟物体的运动和交互&#xff0c;广泛应用于 游戏开发、动画制作、虚…...

Admin.Net中的消息通信SignalR解释

定义集线器接口 IOnlineUserHub public interface IOnlineUserHub {/// 在线用户列表Task OnlineUserList(OnlineUserList context);/// 强制下线Task ForceOffline(object context);/// 发布站内消息Task PublicNotice(SysNotice context);/// 接收消息Task ReceiveMessage(…...

MongoDB学习和应用(高效的非关系型数据库)

一丶 MongoDB简介 对于社交类软件的功能&#xff0c;我们需要对它的功能特点进行分析&#xff1a; 数据量会随着用户数增大而增大读多写少价值较低非好友看不到其动态信息地理位置的查询… 针对以上特点进行分析各大存储工具&#xff1a; mysql&#xff1a;关系型数据库&am…...

循环冗余码校验CRC码 算法步骤+详细实例计算

通信过程&#xff1a;&#xff08;白话解释&#xff09; 我们将原始待发送的消息称为 M M M&#xff0c;依据发送接收消息双方约定的生成多项式 G ( x ) G(x) G(x)&#xff08;意思就是 G &#xff08; x ) G&#xff08;x) G&#xff08;x) 是已知的&#xff09;&#xff0…...

JVM垃圾回收机制全解析

Java虚拟机&#xff08;JVM&#xff09;中的垃圾收集器&#xff08;Garbage Collector&#xff0c;简称GC&#xff09;是用于自动管理内存的机制。它负责识别和清除不再被程序使用的对象&#xff0c;从而释放内存空间&#xff0c;避免内存泄漏和内存溢出等问题。垃圾收集器在Ja…...

Auto-Coder使用GPT-4o完成:在用TabPFN这个模型构建一个预测未来3天涨跌的分类任务

通过akshare库&#xff0c;获取股票数据&#xff0c;并生成TabPFN这个模型 可以识别、处理的格式&#xff0c;写一个完整的预处理示例&#xff0c;并构建一个预测未来 3 天股价涨跌的分类任务 用TabPFN这个模型构建一个预测未来 3 天股价涨跌的分类任务&#xff0c;进行预测并输…...

大模型多显卡多服务器并行计算方法与实践指南

一、分布式训练概述 大规模语言模型的训练通常需要分布式计算技术,以解决单机资源不足的问题。分布式训练主要分为两种模式: 数据并行:将数据分片到不同设备,每个设备拥有完整的模型副本 模型并行:将模型分割到不同设备,每个设备处理部分模型计算 现代大模型训练通常结合…...

【Oracle】分区表

个人主页&#xff1a;Guiat 归属专栏&#xff1a;Oracle 文章目录 1. 分区表基础概述1.1 分区表的概念与优势1.2 分区类型概览1.3 分区表的工作原理 2. 范围分区 (RANGE Partitioning)2.1 基础范围分区2.1.1 按日期范围分区2.1.2 按数值范围分区 2.2 间隔分区 (INTERVAL Partit…...

html-<abbr> 缩写或首字母缩略词

定义与作用 <abbr> 标签用于表示缩写或首字母缩略词&#xff0c;它可以帮助用户更好地理解缩写的含义&#xff0c;尤其是对于那些不熟悉该缩写的用户。 title 属性的内容提供了缩写的详细说明。当用户将鼠标悬停在缩写上时&#xff0c;会显示一个提示框。 示例&#x…...

站群服务器的应用场景都有哪些?

站群服务器主要是为了多个网站的托管和管理所设计的&#xff0c;可以通过集中管理和高效资源的分配&#xff0c;来支持多个独立的网站同时运行&#xff0c;让每一个网站都可以分配到独立的IP地址&#xff0c;避免出现IP关联的风险&#xff0c;用户还可以通过控制面板进行管理功…...