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

Webpack基础

目录

一、Webpack概念

二、Webpack使用步骤

三、Webpack.config.js配置文件

四、entry 和 output

1. entry

 2. output

五、module

1. CSS

2. 图片

3. babel

4. 总结

六、plugins

1.自动生成 html 文件

七、其它

1.webpack-dev-server 开发服务器

2. mode 打包模式

3. devtool

参考:


一、Webpack概念

  • 当我们习惯了在node中编写代码的方式后,再回到前端编写html、css、js这些东西会感觉到各种的不便。比如:不能放心的使用模块化规范(浏览器兼容性问题)、即使可以使用模块化规范也会面临模块过多时的加载问题。
  • 我们就迫切的希望有一款工具可以对代码进行打包,将多个模块打包成一个文件。这样一来即解决了兼容性问题,又解决了模块过多的问题。
  • 构建工具就起到这样一个作用,通过构建工具可以将使用ESM规范编写的代码转换为旧的JS语法,这样可以使得所有的浏览器都可以支持代码。

Webpack是一个前端模块打包工具。它可以将多个模块按照依赖关系进行静态分析,并生成一个或多个打包后的文件。

作用:把静态模块内容,压缩,这个和,转译等(前端工程化)。

  • 把 less/sass 转成 css 代码

  • 把 ES6+ 降级成 ES5 等

  • 支持多种模块文件类型,多种模块标准语法


二、Webpack使用步骤

1.新建一个主文件夹(名为webpack),然后初始化包环境,得到 package.json 文件

npm init -y

2.安装 webpack 以及 webpack-cli 依赖包

npm i webpack webpack-cli --save-dev

3.把 webpack 命令配置到 package.json 的 scripts 自定义命令,作为局部命令使用

  "scripts": {"build": "webpack"},

4.创建文件夹src,在src里创建index.js编写代码

5.开始运行,采用自定义命令的方式:npm run 自定义命令名字

npm run build
  • 注意:实际上在终端运行的是 build 右侧的具体命名

6.此时会自动产生 dist 文件夹(压缩和优化后,用于最终运行的代码),默认里面会有一个main.js文件


三、Webpack.config.js配置文件

在项目根目录创建 Webpack.config.js 配置文件,它提供一个配置对象,Webpack将根据这个对象来打包应用程序。

核心概念:

  • Entry(入口):Webpack将从指定的入口文件开始分析和构建依赖关系树。入口可以是单个文件或多个文件,Webpack会根据入口配置找出所有的依赖模块。
  • Output(出口):指定Webpack打包后的文件输出的路径和文件名。可以通过配置output选项来指定输出文件的路径、名称和格式等。
  • Loader(加载器):Webpack本身只能处理JavaScript模块,但通过Loader的使用,可以处理其他类型的文件(如CSS、LESS、图片等)。Loader的作用是在模块加载时对其进行转换和处理。
  • Plugin(插件):插件用于扩展Webpack的功能。它可以在打包的不同阶段执行特定的任务。例如,可以使用插件来压缩代码、拆分代码、生成HTML文件等。插件通过在Webpack配置中引入并实例化,然后将其添加到plugins数组中。

示例:

const path = require('path')
const HTMLPlugin = require('html-webpack-plugin')module.exports = {mode: "production",  //设置打包模式,production表示生产模式,development表示开发模式//entry用来指定打包时的主文件,默认 ./src/index.js// entry: ['./src/a.js', './src/b.js'],  //合并打包// entry: {  //分别打包//   a: './src/a.js',//   b: './src/b.js'// },//output用来配置打包后的地址,默认 ./dist/main.js// output: {//   path: path.join(__dirname, 'hello'),  //指定打包的目录,必须是绝对路径//   filename: '[name]-[id]-[hash].js',  //打包后的文件名//   clean: true  //自动清理打包目录 (dist目录)// }//加载器,处理非js文件module: {rules: [{test: /\.css$/i,  //处理cssuse: ['style-loader', 'css-loader']  //从右向左执行},{test: /\.(jpg|png|gif)$/i,  //处理图片type: 'asset/resource'},{test: /\.m?js$/i,  //处理js(ES6+ 转译)exclude: /(node_modules|bower_components)/,use: {loader: 'babel-loader',options: {presets: ['@babel/preset-env']}}}]},//插件,增强功能plugins: [new HTMLPlugin({template: './src/index.html'})],devtool: 'inline-source-map'  //用于调试代码}

四、entry 和 output

1. entry

定义打包的起点文件,Webpack 从入口开始分析依赖。

单入口(SPA):

entry: './src/index.js',

多入口(MPA):

entry: {app: './src/app.js',admin: './src/admin.js',
},

 2. output

定义打包后文件的输出位置和命名规则。

output: {path: path.resolve(__dirname, 'dist'), // 输出目录(绝对路径)filename: '[name].[contenthash].js',   // 输出文件名模板clean: true,                          // 每次构建前清空输出目录publicPath: '/assets/',               // 资源公共路径(CDN 场景使用)chunkFilename: '[id].[chunkhash].js', // 非入口 chunk 文件名(如异步加载模块)
},

占位符

  • [name]:入口名称(多入口时使用)。

  • [contenthash]:文件内容哈希(用于缓存优化)。

  • [id]:模块标识符。


五、module

Webpack 默认只识别 JS 和 JSON 文件内容,所以想要让 Webpack 识别更多不同内容,需要使用加载器。

1. CSS

在 src 目录下新建一个 style 文件夹,存放 style.css 文件,然后在index.js中引入:

import './style/index.css'

 此时还不能生效,还需要下载依赖包并进行配置。

下载:

npm i css-loader style-loader --save-dev

在 module 下的 rules 数组中配置: 

{test: /\.css$/i,use: ['style-loader', 'css-loader']
}
  • css-loader 只负责打包,style-loader 负责渲染生效
  • loader 执行顺序为从后向前执行,因此 use 的数组顺序不能调换

2. 图片

图片使用方法类似,先在index.js中引入:

import pic from './assets/pixmap.png'

然后配置:

{test: /\.(jpg|png|gif)$/i,type: 'asset/resource'
}

ps:webpack 内置了资源模块的打包,无需下载额外 loader。


3. babel

  • 在编写js代码时,经常需要使用一些js中的新特性,而新特性在旧的浏览器中兼容性并不好。此时就导致我们无法使用一些新的特性。

  • 但是我们现在希望能够使用新的特性,我们可以采用折中的方案。依然使用新特性编写代码,但是代码编写完成时我们可以通过一些工具将新代码转换为旧代码。

  • babel就是这样一个工具,可以将新的js语法转换为旧的js,以提高代码的兼容性。

安装:

npm install -D babel-loader @babel/core @babel/preset-env
    • @babel/core:babel的转换核心
    • @babel/preset-env:预设环境

    配置:

    {test: /\.m?js$/i,exclude: /(node_modules|bower_components)/,use: {loader: 'babel-loader',options: {presets: ['@babel/preset-env']}}
    }

    还可以在package.json中设置兼容列表:

    "browserslist": ["defaults"]

    4. 总结

    常用的Webpack loader:

    • babel-loader:将ES6+代码转换为ES5语法,以便在旧版本的浏览器中运行。
    • style-loader 和 css-loader:用于处理CSS文件。css-loader主要负责处理样式文件中的import和url语句,而style-loader将转换后的CSS模块直接注入到HTML页面中。
    • file-loader 和 url-loader:用于处理图片和其他资源文件。file-loader会为每一个文件生成一个对应的文件,而url-loader将小于设定大小的文件转换为base64编码的URL,减少HTTP请求。
    • sass-loader 和 less-loader:用于处理Sass和Less预处理器。它们将Sass和Less代码转换为普通的CSS代码。
    • postcss-loader:用于为CSS代码添加浏览器兼容性前缀,以确保在不同浏览器上的一致性。
    • html-loader:用于处理HTML文件,将其中的图片等资源转换为Webpack可以识别的模块。

    六、plugins

    1.自动生成 html 文件

    html-webpack-plugin 这个插件可以在代码打包后,自动在打包目录生成html页面。

    下载:

    npm i html-webpack-plugin --save-dev

    引入依赖:

    const HTMLPlugin = require("html-webpack-plugin")

    配置:

    plugins: [new HTMLPlugin({// title: "Hello Webpack",  //设置titletemplate: "./src/index.html"  //模板,自动引入script脚本})
    ]

    七、其它

    1.webpack-dev-server 开发服务器

    每次改动代码,都要重新打包,很麻烦,所以这里给项目集成 webpack-dev-server 开发服务器。

    作用:启动 Web 服务,并自动检测代码变化热更新到网页。

    下载:

    npm i webpack-dev-server --save-dev

    可以在 package.json 中配置自定义命令:

    "scripts": {"dev": "webpack serve --mode=development"
    }

    使用:

    npm run dev
    • 此时在 js / css 文件中修改代码保存后,会实时反馈到浏览器。

    2. mode 打包模式

    指定构建模式,Webpack 会根据模式启用内置优化。

    可选值:

    • 'development':启用开发工具(如 source map)。

    • 'production':启用代码压缩、Tree Shaking 等优化。

    • 'none':不启用任何默认优化。

    模式名称模式名字特点场景
    开发模式development调试代码,实时加载,模块热替换等本地开发
    生产模式production压缩代码,资源优化,更轻量等打包上线

    如何设置影响 Webpack呢?

    • 方式1:在 webpack.config.js 配置文件设置 mode 选项

      // ...
      module.exports = {// ...mode: 'production'
      }
    • 方式2:在 package.json 命令行设置 mode 参数

      "scripts": {"build": "webpack --mode=production","dev": "webpack serve --mode=development"
      },

    注意:命令行设置的优先级高于配置文件中的,推荐用命令行设置


    3. devtool

    可以配置源码的映射,方便调试打包后的代码。

    // ...
    module.exports = {// ...devtool:"inline-source-map"
    }

    参考:

    Webpack--入门只看这一篇就够了(图文+代码)-CSDN博客

    webpack超详细教程,学webpack看这一篇就够了!(上)_webpack教程-CSDN博客

    webpack超详细教程,学webpack看这一篇就够了!(下)_new webpack.defineplugin-CSDN博客

    02_webpack介绍_哔哩哔哩_bilibili

    相关文章:

    Webpack基础

    目录 一、Webpack概念 二、Webpack使用步骤 三、Webpack.config.js配置文件 四、entry 和 output 1. entry 2. output 五、module 1. CSS 2. 图片 3. babel 4. 总结 六、plugins 1.自动生成 html 文件 七、其它 1.webpack-dev-server 开发服务器 2. mode 打包模…...

    极狐GitLab 用户 API 速率限制如何设置?

    极狐GitLab 是 GitLab 在中国的发行版,关于中文参考文档和资料有: 极狐GitLab 中文文档极狐GitLab 中文论坛极狐GitLab 官网 用户 API 速率限制 (BASIC SELF) 您可以为对 Users API 的请求配置每个用户的速率限制。 要更改速率限制: 1.在…...

    用 Go 实现一个轻量级并发任务调度器(支持限速)

    前言 在日常开发中,我们经常会遇到这样的场景: • 有一堆任务要跑(比如:发请求、处理数据、爬虫等)• 不希望一次性全部跑完,担心打爆服务端或者被封• 想要设置并发数、限速,还能控制任务重试…...

    华为OD机试真题——最长的顺子(2025A卷:100分)Java/python/JavaScript/C++/C语言/GO六种最佳实现

    2025 A卷 100分 题型 本文涵盖详细的问题分析、解题思路、代码实现、代码详解、测试用例以及综合分析; 并提供Java、python、JavaScript、C、C语言、GO六种语言的最佳实现方式! 本文收录于专栏:《2025华为OD真题目录全流程解析/备考攻略/经验…...

    3.8/Q1,GBD数据库最新文章解读

    文章题目:Regional and National Burden of Traumatic Brain Injury and Spinal Cord Injury in North Africa and Middle East Regions, 1990-2021: A Systematic Analysis for The Global Burden of Disease Study 2021 DOI:10.1007/s44197-025-00372-…...

    Java面试中问单例模式如何回答

    1. 什么是单例模式? 单例模式(Singleton Pattern)是一种设计模式,确保某个类在整个应用中只有一个实例,并且提供全局访问点。它有以下特点: 确保只有一个实例。提供全局访问点。防止多次实例化&#xff0…...

    再看开源多模态RAG的视觉文档(OCR-Free)检索增强生成方案-VDocRAG

    前期几个工作提到,基于OCR的文档解析RAG的方式进行知识库问答,受限文档结构复杂多样,各个环节的解析泛化能力较差,无法完美的对文档进行解析。因此出现了一些基于多模态大模型的RAG方案。如下: 【RAG&多模态】多模…...

    【go】什么是Go语言中的GC,作用是什么?调优,sync.Pool优化,逃逸分析演示

    Go 语言中的 GC 简介与调优建议 一、GC 简介 Go 的 GC(Garbage Collection)用于自动管理内存,开发者无需手动释放内存,可以专注于业务逻辑,降低出错概率,提升开发效率。 GC 能够自动发现和回收不再使用的…...

    ctfshow-大赛原题-web702

    因为该题没有理解到位,导致看wp也一直出错,特此反思一下。 参考yu22x师傅的文章 :CTFSHOW大赛原题篇(web696-web710)_ctfshow 大赛原题-CSDN博客 首先拿到题目: // www.zip 下载源码 我们的思路就是包含一个css文件,…...

    基于Redis的4种延时队列实现方式

    延时队列是一种特殊的消息队列,它允许消息在指定的时间后被消费。在微服务架构、电商系统和任务调度场景中,延时队列扮演着关键角色。例如,订单超时自动取消、定时提醒、延时支付等都依赖延时队列实现。 Redis作为高性能的内存数据库&#x…...

    基于Django实现农业生产可视化系统

    基于Django实现农业生产可视化系统 项目截图 登录 注册 首页 农业数据-某一指标表格展示 农业数据-某一指标柱状图展示 农业数据-某一指标饼状图展示 气候数据-平均气温地图展示 气候数据-降水量合并图展示 后台管理 一、系统简介 农业生产可视化系统是一款基于DjangoMVTMyS…...

    yocto编译使用共享缓存

    注意 服务器端与客户端系统的版本号需为Ubuntu20.04执行用户需要为sudo权限服务器端nfs目录权限必须为nobody:nogroup 服务端配置: 在服务器192.168.60.142上配置 NFS 共享: 1.安装 NFS 服务器: 1 sudo apt-get install nfs-kernel-serve…...

    uCOS3实时操作系统(系统架构和中断管理)

    文章目录 系统架构中断管理ARM中断寄存器相关知识ucos中断机制 系统架构 ucos主要包含三个部分的源码: 1、OS核心源码及其配置文件(ucos源码) 2、LIB库文件源码及其配置文件(库文件,比如字符处理、内存管理&#xff0…...

    web后端语言下篇

    #作者:允砸儿 #日期:乙巳青蛇年 三月廿一 笔者今天将web后端语言PHP完结一下,后面还会写一个关于python的番外。 PHP函数 PHP函数它和笔者前面写的js函数有些许类似,都是封装的概念。将实现某一功能的代码块封装到一个结构中…...

    Tensorflow释放GPU资源

    语言:python 框架:tensorflow 现有问题:用tensorflow进行模型训练,训练完成后用tf.keras.backend.clear_session()命令无法真正实现释放资源的效果。 解决方案:创建多进程,将模型训练作为子进程&#xff0c…...

    vscode、cherry studio接入高德mcp服务

    最近mcp协议比较火,好多平台都已经开通了mcp协议,今天来接入下高德的mcp看看效果如何。 话不多说,咱们直接开干。 先来看下支持mcp协议的工具有cusor、cline等等。更新cherrystudio后发现上面也有mcp服务器了。今天咱就来试试添加高德的mcp协…...

    软考高级-系统架构设计师 论文范文参考(二)

    文章目录 论企业应用集成论软件三层结构的设计论软件设计模式的应用论软件维护及软件可维护性论信息系统安全性设计论信息系统的安全性设计(二)论信息系统的架构设计论信息系统架构设计(二) 论企业应用集成 摘要: 2016年9月,我国某省移动通信有限公司决定启动VerisB…...

    熵权法+TOPSIS+灰色关联度综合算法(Matlab实现)

    熵权法TOPSIS灰色关联度综合算法(Matlab实现) 代码获取私信回复:熵权法TOPSIS灰色关联度综合算法(Matlab实现) 摘要: 熵权法TOPSIS灰色关联度综合算法(Matlab实现)代码实现了一种…...

    【java 13天进阶Day05】数据结构,List,Set ,TreeSet集合,Collections工具类

    常见的数据结构种类 集合是基于数据结构做出来的,不同的集合底层会采用不同的数据结构。不同的数据结构,功能和作用是不一样的。数据结构: 数据结构指的是数据以什么方式组织在一起。不同的数据结构,增删查的性能是不一样的。不同…...

    极狐GitLab 议题和史诗创建的速率限制如何设置?

    极狐GitLab 是 GitLab 在中国的发行版,关于中文参考文档和资料有: 极狐GitLab 中文文档极狐GitLab 中文论坛极狐GitLab 官网 议题和史诗创建的速率限制 (BASIC SELF) 速率限制是为了控制新史诗和议题的创建速度。例如,如果您将限制设置为 …...

    AIGC-几款本地生活服务智能体完整指令直接用(DeepSeek,豆包,千问,Kimi,GPT)

    Unity3D特效百例案例项目实战源码Android-Unity实战问题汇总游戏脚本-辅助自动化Android控件全解手册再战Android系列Scratch编程案例软考全系列Unity3D学习专栏蓝桥系列AIGC(GPT、DeepSeek、豆包、千问、Kimi)👉关于作者 专注于Android/Unity和各种游戏开发技巧,以及各种资…...

    十、数据库day02--SQL语句01

    文章目录 一、新建查询1.查询窗口的开启方法2. 单语句运行方法 二、数据库操作1.创建数据库2. 使用数据库3. 修改数据库4. 删除数据库和查看所有数据库5. 重点:数据库备份5.1 应用场景5.2 利用工具备份备份操作还原操作 5.3 扩展:使用命令备份 三、数据表…...

    2025年MathorCup数学应用挑战赛D题问题一求解与整体思路分析

    D题 短途运输货量预测及车辆调度 问题背景 问题分析:四个问题需要建立数学模型解决就业状态分析与预测,旨在通过数学建模对宜昌地区的就业数据进行深入分析,并基于此预测就业状态。提供的数据涵盖了被调查者的个人信息、就业信息、失业信息…...

    关于三防漆清除剂

    成分及原理 主要成分:通常包含有机溶剂,如丙酮、甲苯、二甲苯等,以及一些表面活性剂、缓蚀剂等添加剂。工作原理:有机溶剂能够溶解三防漆中的树脂等成分,使其失去粘性和附着性,从而可以被轻易地擦拭或冲洗…...

    2025年MathorCup数学应用挑战赛【选题分析】

    【25MathorCup选题分析】 🙋‍♀🙋‍♂数模加油站初步分析评估了此次竞赛题目: ✅A题:该题新颖性强,属于“算子学习深度学习几何建模”的交叉问题,涉及PINN、FNO、KAN等算子神经网络模型构建,任…...

    在windows上交叉编译opencv供RK3588使用

    环境 NDK r27、RK3588 安卓板子、Android 12 步骤操作要点1. NDK 下载选择 r27 版本,解压到无空格路径(如 C:/ndk)2. 环境变量配置添加 ANDROID_NDK_ROOT 和工具链路径到系统 PATH3. CMake 参数调整指定 ANDROID_NATIVE_API_LEVEL31、ANDRO…...

    零基础玩转AI数学建模:从理论到实战

    前言 数学建模作为连接数学理论与现实世界的桥梁,在科学研究、工程实践和商业决策等领域发挥着越来越重要的作用。随着人工智能技术的迅猛发展,以ChatGPT为代表的大语言模型为数学建模领域带来了革命性的变革。本书旨在帮助读者掌握这一变革带来的新机遇…...

    IDEA 2025.1更新-AI助手试用和第三方模型集成方案

    今天刚把 IntelliJ IDEA 更新到了 2025.1 版本,主要是想看看这次 AI Assistant 有什么新东西。之前看到消息说功能有更新,而且似乎可以免费试用,就动手试了试,顺便把过程和一些发现记录下来,给可能需要的朋友一个参考。…...

    static关键字

    思维导图: 在 Java 中,static 是一个非常重要的关键字,它可以用来修饰类的成员,包括变量、方法、代码块以及内部类。下面为你详细介绍 static 关键字的各种用法和特点。 一.修饰内部类 静态内部类:当 static 修饰内部类…...

    gl-matrix 库简介

    gl-matrix 库简介 gl-matrix 是一个高性能的 JavaScript 矩阵和向量库,专门为 WebGL 和其他 3D 图形应用设计。它提供了处理 2D、3D 和 4D 向量以及矩阵运算的高效方法。 主要特性 高性能:经过高度优化,执行速度快轻量级:体积小…...

    Spring Boot 核心注解全解:@SpringBootApplication背后的三剑客

    大家好呀!👋 今天我们要聊一个超级重要的Spring Boot话题 - 那个神奇的主类注解SpringBootApplication!很多小伙伴可能每天都在用Spring Boot开发项目,但你真的了解这个注解背后的秘密吗?🤔 别担心&#x…...

    Android 音频架构全解析:从 AudioTrack 到 AudioFlinger

    在开发音视频相关应用时,我们常会接触到 MediaPlayer、SoundPool、AudioTrack、OpenSL ES、AAudio、Oboe 等名词,它们都与 Android 的音频播放息息相关。然而,真正理解它们之间的关系以及背后运行机制,才能写出高性能、低延迟的音…...

    【教程】无视硬件限制强制升级Windows 11

    转载请注明出处:小锋学长生活大爆炸[xfxuezhagn.cn] 如果本文帮助到了你,欢迎[点赞、收藏、关注]哦~ 1、下载升级工具:https://github.com/builtbybel/Flyby11/releases 2、解压后打开软件: 3、拖入win11.iso或者自动下载&#xf…...

    ICPR-2025 | 让机器人在未知环境中 “听懂” 指令精准导航!VLTNet:基于视觉语言推理的零样本目标导航

    作者:Congcong Wen, Yisiyuan Huang, Hao Huang ,Yanjia Huang, Shuaihang Yuan, YuHao, HuiLin and Yi Fang 单位:纽约大学阿布扎比分校具身人工智能与机器人实验室,纽约大学阿布扎比分校人工智能与机器人中心,纽约大学坦登工程…...

    替代升级VMware | 云轴科技ZStack构建山西证券一云多芯云平台

    通过云轴科技ZStack Cloud云平台,山西证券打造了敏捷部署、简单运维的云平台,不仅兼容x86、海光、鲲鹏三种异构服务器实现一云多芯,还通过云平台虚拟化纳管模块纳管原有VMware虚拟化资源,并对接第三方集中式存储,在保护…...

    Houdini python code:参数指定文件路径

    创建null节点并命名为control并增加filedir参数 创建python节点 node hou.pwd() geo node.geometry()node hou.node(/obj/output_tetgen/control) filedir node.parm(filedir).eval() print("filedir:",filedir)得到输出...

    ChatGPT-o3辅助学术写作的关键词和引言效果如何?

    目录 关键词 引言 论文引言(≈300 字) 大家好这里是AIWritePaper官方账号,官网👉AIWritePaper~ 关键词 摘要是文章的精华,通常在200-250词左右。要包括研究的目的、方法、结果和结论。让AI工具作为某领域内资深的研…...

    树莓派5+Vosk+python实现语音识别

    简介 Vosk是语音识别开源框架,支持二十种语言 - 中文,英语,印度英语,德语,法语,西班牙语,葡萄牙语,俄语,土耳其语,越南语,意大利语,荷…...

    Selenium之 CSS 选择器详细讲解

    Selenium之 CSS 选择器详细讲解 引言 在.Selenium.自动化测试中,元素定位是至关重要的一环。而.CSS.选择器作为一种强大且灵活的定位工具,在.Selenium.中得到了广泛的应用。本文将详细介绍.CSS.选择器的基本语法、常用类型以及如何在.Selenium.中高效地…...

    【LeetCode】大厂面试算法真题回忆(61)--组装新的数组

    题目描述 给你一个整数M和数组N,N中的元素为连续整数,要求根据N中的元素组装成新的数组R,组装规则: R中元素总和加起来等于M。R中的元素可以从N中重复选取。R中的元素最多只能有1个不在N中,且比N中的数字都要小(不能为负数)。请输出:数组R一共有多少组装办法。 输入描…...

    基于用户的协同过滤推荐系统实战项目

    文章目录 基于用户的协同过滤推荐系统实战项目1. 推荐系统基础理论1.1 协同过滤概述1.2 基于用户的协同过滤原理1.3 相似度计算方法1.3.1 余弦相似度(Cosine Similarity)1.3.2 皮尔逊相关系数(Pearson Correlation)1.3.3 欧几里得距离(Euclidean Distance)1.3.4 调整余弦相似度…...

    浅析数据库面试问题

    以下是关于数据库的一些常见面试问题: 一、基础问题 什么是数据库? 数据库是按照数据结构来组织、存储和管理数据的仓库。SQL 和 NoSQL 的区别是什么? SQL 是关系型数据库,使用表结构存储数据;NoSQL 是非关系型数据库,支持多种数据模型(如文档型、键值对型等)。什么是…...

    【Python3】Django 学习之路

    第一章:Django 简介 1.1 什么是 Django? Django 是一个高级的 Python Web 框架,旨在让 Web 开发变得更加快速和简便。它鼓励遵循“不要重复自己”(DRY,Don’t Repeat Yourself)的原则,并提供了…...

    Java并发编程高频面试题(已整理Java面试宝典PDF完整版)

    为什么要使用并发编程 提升多核CPU利用率:现代计算机通常配备多核CPU,通过创建多个线程,操作系统可以将不同线程分配到不同CPU核心上并行执行,从而充分利用硬件资源。若仅使用单线程,则只能利用一个CPU核心&#xff0c…...

    第 4 期:DDPM中的损失函数——为什么只预测噪声?

    —— 从变分下界到噪声预测 回顾:我们到底在做什么? 在第 3 期中,我们介绍了扩散模型的逆过程建模。简而言之,目标是通过神经网络学习从噪声 x_t​ 中恢复图像 x_0,并且我们通过预测噪声 ϵ来完成这个任务。 今天&a…...

    Docker使用、容器迁移

    Docker 简介 Docker 是一个开源的容器化平台,用于打包、部署和运行应用程序及其依赖环境。Docker 容器是轻量级的虚拟化单元,运行在宿主机操作系统上,通过隔离机制(如命名空间和控制组)确保应用运行环境的一致性和可移…...

    专业热度低,25西电光电工程学院(考研录取情况)

    1、光电工程学院各个方向 2、光电工程学院近三年复试分数线对比 学长、学姐分析 由表可看出: 1、光学工程25年相较于24年下降20分, 2、光电信息与工程(专硕)25年相较于24年上升15分 3、25vs24推免/统招人数对比 学长、学姐分析…...

    六、LangChain Agent 最佳实践

    1. 架构设计与组件选择 (1) 核心组件分层设计 Model(LLM驱动层) 生产环境推荐:使用 gpt-4-1106-preview 或 Anthropic Claude 3 等高性能模型,结合 model.with_fallbacks() 实现故障转移(如备用模型或本地模型)。本地部署:选择 Llama3-70B 等开源模型,搭配 Docker 或 …...

    ubantu18.04(Hadoop3.1.3)之MapReduce编程

    说明:本文图片较多,耐心等待加载。(建议用电脑) 注意所有打开的文件都要记得保存。 第一步:准备工作 本文是在之前Hadoop搭建完集群环境后继续进行的,因此需要读者完成我之前教程的所有操作。 第二步&…...

    PoCL环境搭建

    PoCL环境搭建 **一.关键功能与优势****二.设计目的****三.测试步骤**1.创建容器2.安装依赖3.编译安装pocl4.运行OpenCL测试程序 Portable Computing Language (PoCL) 简介 Portable Computing Language (PoCL) 是一个开源的、符合标准的异构计算框架,旨在为 OpenCL…...