前端构建工具大比拼:Vite、Webpack、Parcel、esbuild 等热门工具使用分析

前端构建工具大比拼:Vite、Webpack、Parcel、esbuild 等热门工具使用分析

随着前端技术的不断发展,构建工具成为了每个前端项目的核心部分。通过合适的构建工具,我们能够优化开发效率、提升构建速度,并最终实现更加高效和灵活的开发流程。市场上存在许多不同的构建工具,例如 Vite、Webpack、Parcel、esbuild 等,它们各自有不同的特点和使用场景。

1. Vite:极速构建,开发者最爱

在这里插入图片描述

官网: https://cn.vitejs.dev
Github: https://github.com/vitejs/vite ✨ 67.2K

简介

Vite 是由尤大(尤雨溪)开发的一个新一代前端构建工具。Vite 的最大特点是利用原生的 ES Module(ESM)特性,在开发环境下实现按需加载和编译,从而显著提高开发速度。Vite 的目标是为开发者提供一个极速构建的体验,尤其在大型项目中,它能够减少构建时间,提升开发效率。

优势
  • 极速构建:Vite 利用 ES Module 支持和按需加载,显著加快开发时的构建速度。
  • 热模块替换(HMR):Vite 支持快速的热更新,几乎没有延迟,优化开发过程。
  • 支持现代 JavaScript 特性:Vite 原生支持 TypeScript、JSX、CSS 预处理器、静态资源等特性。
  • 支持插件:Vite 拥有丰富的插件生态,可以轻松扩展功能。
使用方式
  1. 安装 Vite:
npm create vite@latest my-project
cd my-project
npm install
npm run dev
  1. 配置文件(vite.config.js):
import { defineConfig } from 'vite';

export default defineConfig({
  // 配置项
});

Vite 极为简便,几乎零配置即可运行,是现代前端项目的理想选择。


2. Webpack:全能型构建工具

在这里插入图片描述

官网: https://webpack.js.org/
Github: https://github.com/webpack/webpack ✨ 64.6K

简介

Webpack 是目前最流行的前端打包工具,适用于多种资源类型(JavaScript、CSS、图片等)的打包。它通过模块化的方式组织和打包资源,能够帮助我们将开发过程中产生的模块化代码最终打包成浏览器可运行的文件。Webpack 强大的插件系统使其能够应对任何复杂的前端构建需求。

优势
  • 极高的灵活性:Webpack 支持各种资源的处理,且支持高度自定义。
  • 强大的插件和加载器生态:Webpack 提供了丰富的插件和加载器,能够满足几乎所有的前端构建需求。
  • 模块化管理:Webpack 允许开发者控制各个模块的加载和优化策略,如按需加载、代码分割等。
使用方式
  1. 安装 Webpack:
npm install --save-dev webpack webpack-cli webpack-dev-server
  1. Webpack 配置文件(webpack.config.js):
module.exports = {
  entry: './src/index.js',
  output: {
    filename: 'bundle.js',
    path: __dirname + '/dist'
  },
  module: {
    rules: [
      {
        test: /\.js$/,
        use: 'babel-loader'
      }
    ]
  },
  devServer: {
    contentBase: './dist',
    hot: true
  }
};

Webpack 是功能最强大的构建工具,适用于大多数中大型前端项目,虽然其配置较为复杂,但灵活性和可扩展性使它在大型项目中极具优势。


3. Parcel:零配置构建工具

在这里插入图片描述

官网: https://parceljs.org/
Github: https://github.com/parcel-bundler/parcel ✨ 43.4K

简介

Parcel 是一款零配置的前端构建工具,注重简单易用。它专注于快速构建和开箱即用的开发体验,适合小型和中型项目。Parcel 的目标是提供一个“零配置”的开发环境,让开发者无需深入理解构建工具的内部机制,就能开始开发。

优势
  • 零配置:Parcel 最大的特点是“零配置”,开发者无需手动配置构建工具,直接运行即可。
  • 快速构建:Parcel 使用多线程和高效的构建算法,加速了构建速度。
  • 自动化功能:Parcel 内置了代码分割、热更新、支持各种资源类型等功能,无需手动配置。
  • 易于上手:Parcel 提供了一个简洁的接口,适合快速原型开发。
使用方式
  1. 安装 Parcel:
npm install -g parcel
parcel index.html

Parcel 会自动分析文件的依赖关系并启动开发服务器。

  1. 无需配置:通过直接运行 Parcel,它会自动根据你的文件类型进行相应的处理。

Parcel 的零配置特性使它成为初学者和小型项目的理想选择,尤其适合快速迭代和原型开发。


4. esbuild:极致性能的构建工具

在这里插入图片描述

官网: https://esbuild.github.io/
Github: https://github.com/evanw/esbuild ✨ 37.9K

简介

esbuild 是一个极快的构建工具,专注于 JavaScript 和 TypeScript 的编译、打包和压缩。它的构建速度比传统的构建工具(如 Webpack)快上数倍,因此特别适合需要快速构建的场景。esbuild 的速度和低资源消耗使其成为性能要求极高项目的首选。

优势
  • 极快的构建速度:esbuild 是目前最快的构建工具之一,能够显著加快构建时间,尤其在大型项目中表现尤为突出。
  • 低资源消耗:esbuild 使用 Go 语言编写,内存和 CPU 的消耗相较其他工具非常低。
  • 内置压缩和编译功能:esbuild 自带压缩、编译、打包功能,极简的配置就能实现复杂的构建操作。
使用方式
  1. 安装 esbuild:
npm install esbuild --save-dev
  1. 使用命令行打包:
esbuild src/index.js --bundle --outfile=dist/bundle.js

esbuild 提供了极高的构建性能,适用于对速度要求非常高的项目,尤其是在处理大型代码库时。


5. Lerna:管理 Monorepo 项目的工具

在这里插入图片描述

官网: https://lerna.js.org/
Github: https://github.com/lerna/lerna ✨ 35.6K

简介

Lerna 是一个用于管理 Monorepo 项目的工具,尤其适合在同一个 Git 仓库中管理多个包(例如,多个 npm 包)。Lerna 主要用于提高多包项目的管理效率,支持版本管理、依赖管理和自动化发布流程。它帮助开发者减少了手动管理多个包之间依赖和版本冲突的麻烦,尤其是在团队合作中表现尤为出色。

优势
  • 多包管理:Lerna 让你能够在同一个 Git 仓库中管理多个 JavaScript 或 TypeScript 包,方便开发、版本控制和发布。
  • 版本控制和发布:Lerna 提供了强大的版本控制功能,支持同步版本发布,简化了多个包的版本管理和发布流程。
  • 依赖管理:它帮助你自动化依赖管理,避免了手动更新包版本的麻烦。
  • 简化 CI/CD 流程:Lerna 在 CI/CD 流程中有很好的支持,能减少构建和发布的时间。
使用方式
  1. 安装 Lerna:
npm install --global lerna
  1. 初始化项目:
lerna init

这会创建一个新的 Lerna 项目并生成 lerna.jsonpackages 文件夹。

  1. 添加包:
lerna create my-package
  1. 发布包:
lerna publish

Lerna 的多包管理功能特别适合大型团队和复杂项目中,有多个独立模块或包需要一起协作的场景。


6. Gulp:基于流的自动化构建工具

在这里插入图片描述

官网: https://gulpjs.com/
Github: https://github.com/gulpjs/gulp ✨ 33K

简介

Gulp 是一个基于流的自动化构建工具,广泛应用于文件操作、代码压缩、预处理器编译等常见的开发任务。Gulp 通过 JavaScript 流式 API 管理任务,可以处理文件的读取、修改、输出等操作,从而实现自动化任务的执行。

Gulp 提供了一种非常灵活的方式来处理开发中的重复性工作,开发者可以通过定义任务来自动执行这些操作,从而提升开发效率。

优势
  • 基于流的任务执行:Gulp 使用流(Streams)来处理任务,这意味着任务可以异步执行,且在执行过程中可以灵活地对文件进行操作。
  • 任务自动化:Gulp 可以自动化前端开发中的很多重复性任务,例如编译 Sass/LESS、压缩文件、优化图片等。
  • 插件生态:Gulp 拥有一个庞大的插件生态,几乎涵盖了所有常见的前端构建需求。
  • 快速和轻量级:Gulp 的任务执行速度非常快,并且占用内存较少,适合大规模项目。
使用方式
  1. 安装 Gulp:
npm install --global gulp-cli
npm install --save-dev gulp
  1. 创建任务:

gulpfile.js 中定义任务:

const gulp = require('gulp');

gulp.task('default', function() {
  // 任务代码,例如文件处理、代码压缩等
  console.log("Hello, Gulp!");
});
  1. 执行任务:
gulp

Gulp 的优势在于它简洁、高效,适合处理文件流和构建流程中的自动化任务。如果你的项目需要频繁处理文件流操作,Gulp 是一个不错的选择。


7. Turborepo:专为 Monorepo 设计的构建系统

在这里插入图片描述

官网: https://turbo.build/repo/docs
Github: https://github.com/vercel/turborepo ✨ 26K

简介

Turborepo 是由 Vercel 提供的构建系统,旨在帮助开发者高效管理 Monorepo 项目。它特别适合包含多个应用和包的项目,能够通过增量构建和缓存优化显著提升构建速度,减少重复构建的时间和资源消耗。Turborepo 的特点是支持“缓存构建”和“并行构建”,从而提升了构建效率。

优势
  • 增量构建:Turborepo 在构建过程中会自动缓存已经构建过的部分,避免了重复构建,节省了时间和计算资源。
  • 并行构建:Turborepo 支持并行构建,能够高效处理多个项目之间的构建任务。
  • Monorepo 优化:Turborepo 针对 Monorepo 项目进行了深度优化,支持多个应用和包之间的协作和构建。
  • 自动化缓存:它会自动决定哪些任务需要重新执行,哪些可以从缓存中获取结果,从而加速构建过程。
使用方式
  1. 安装 Turborepo:
npm install turbo --save-dev
  1. 初始化配置

在项目根目录下创建 turbo.json 配置文件:

{
  "pipeline": {
    "build": {
      "dependsOn": ["^build"]
    }
  }
}
  1. 运行任务:
npx turbo run build

Turborepo 是一个专为大规模 Monorepo 项目设计的工具,特别适用于有多个应用和模块的复杂项目,能够显著提升构建效率。


8. Rollup:高效的 JavaScript 模块打包器

在这里插入图片描述

官网: https://rollupjs.org/
Github: https://github.com/rollup/rollup ✨ 25.2K

简介

Rollup 是一个专注于 JavaScript 库和模块的打包工具。它通过标准化的 ES6 模块格式和树摇(Tree Shaking)技术来优化打包结果,特别适用于构建 JavaScript 库、工具或小型应用程序。Rollup 是非常适合构建现代 JavaScript 库的工具,能够消除多余的代码,优化打包体积。

优势
  • Tree Shaking:Rollup 能够识别和删除没有使用的代码,从而减小打包后的体积。
  • 高效的 ES 模块打包:Rollup 主要针对 ES6 模块优化,它的打包过程非常高效。
  • 适合库开发:Rollup 特别适合开发 JavaScript 库、组件库等,能够生成小而高效的包。
  • 支持插件:Rollup 提供了丰富的插件系统,可以满足大多数开发需求。
使用方式
  1. 安装 Rollup:
npm install --save-dev rollup
  1. 创建配置文件(rollup.config.js):
export default {
  input: 'src/index.js',
  output: {
    file: 'dist/bundle.js',
    format: 'esm'
  }
};
  1. 执行打包
npx rollup -c

Rollup 是一个专注于高效打包和模块优化的工具,尤其适用于构建高效、体积小的 JavaScript 库。如果你正在开发一个库或需要优化打包体积,Rollup 是一个非常好的选择。


9. NX:用于 Monorepo 项目的构建和开发工具集

在这里插入图片描述

官网: https://nx.dev/
Github: https://github.com/nrwl/nx ✨ 23.2K

简介

NX 是由 Nrwl 提供的一款 Monorepo 管理工具,专门用于管理大型项目中的多个应用和库。NX 支持现代前端和后端技术栈,帮助开发团队提高生产力和协作效率。它内置了一些高效的工具和特性,如增量构建、任务调度和模块化的开发架构。

NX 允许团队将多个应用程序、库和模块放在同一个仓库中,利用强大的工具支持来管理它们,特别适合大型企业级项目,能够实现跨团队协作。

优势
  • 集成多种框架:NX 支持 React、Angular、Vue 等流行的前端框架,同时也支持 Node.js、NestJS 等后端技术。
  • 增量构建:NX 可以通过增量构建来优化构建和测试流程,只重构和重建发生变化的部分。
  • 强大的插件生态:NX 提供了许多插件和工具,用于优化工作流,如代码生成器、测试工具等。
  • 智能依赖分析:NX 会自动分析项目的依赖关系,帮助你更好地管理模块和库之间的关系。
使用方式
  1. 安装 NX:
npm install -g nx
  1. 创建一个新的 NX 项目:
npx create-nx-workspace@latest
  1. 运行项目:
nx serve <app-name>

NX 是一个非常适合大型 Monorepo 项目的工具,特别是当多个应用和模块需要一起管理和构建时,它能够帮助你高效地组织代码和加速开发进程。


10. browserify:允许在浏览器中使用 Node.js 风格的模块组织代码

在这里插入图片描述

官网: https://browserify.org/
Github: https://github.com/browserify/browserify ✨ 14.6K

简介

Browserify 是一个 模块打包工具,它使得你可以在浏览器中使用 Node.js 风格的模块(即 CommonJS 模块)。通过 Browserify,你可以像在 Node.js 中一样使用 require 来引入模块,而不需要担心浏览器是否支持这些模块。Browserify 会将这些依赖关系打包成一个文件,方便在浏览器中加载和使用。

优势
  • Node.js 风格的模块化:允许开发者在浏览器端使用 requiremodule.exports,使得前后端代码能够统一使用相同的模块化标准。
  • 强大的插件系统:Browserify 提供了一个非常强大的插件生态,能够处理各种模块的打包需求。
  • 支持许多模块系统:除了 CommonJS 外,Browserify 还支持其他模块系统,如 ES6 模块和 AMD。
使用方式
  1. 安装 Browserify:
npm install --save-dev browserify
  1. 打包文件:
browserify src/app.js -o dist/bundle.js
  1. 在浏览器中引用:
<script src="dist/bundle.js"></script>

Browserify 特别适合于需要将 Node.js 模块应用于浏览器端的场景,它能够将复杂的依赖关系打包为一个浏览器可用的文件。


11. Grunt:前端自动化构建任务运行器

在这里插入图片描述

官网: https://gruntjs.com/
Github: https://github.com/gruntjs/grunt ✨ 12.3K

简介

Grunt 是一个基于 JavaScript 的 任务运行器,它能够帮助开发者自动化处理前端开发中的重复性任务,如代码压缩、文件编译、代码检查等。Grunt 的强大之处在于它能通过配置文件定义多个任务并进行自动化执行,从而提升开发效率,减少手动操作。

优势
  • 任务自动化:Grunt 能够自动化执行重复性工作,例如压缩文件、编译 Sass/LESS、代码校验等。
  • 插件生态:Grunt 提供了大量的插件,几乎可以满足所有常见的前端开发任务。
  • 灵活的配置:Grunt 通过 Gruntfile.js 来配置任务,允许开发者自由定义和扩展任务。
使用方式
  1. 安装 Grunt:
npm install --save-dev grunt grunt-cli
  1. 创建 Gruntfile:
module.exports = function(grunt) {
  grunt.initConfig({
    pkg: grunt.file.readJSON('package.json'),
    uglify: {
      build: {
        src: 'src/js/*.js',
        dest: 'dist/js/main.min.js'
      }
    }
  });

  grunt.loadNpmTasks('grunt-contrib-uglify');
  grunt.registerTask('default', ['uglify']);
};
  1. 执行任务:
grunt

Grunt 是一个非常适合需要执行重复性任务的项目,尤其是在前端开发中,能够极大提高工作效率。


12. Yeoman:脚手架工具,自动生成项目结构

在这里插入图片描述

官网: https://yeoman.io/
Github: https://github.com/yeoman/yo ✨ 3.8K

简介

Yeoman 是一个 脚手架工具,通过生成器帮助开发者自动创建项目的基本框架和结构。Yeoman 提供了许多开箱即用的生成器,可以根据不同的技术栈和项目需求,快速生成项目的骨架代码和目录结构,帮助开发者更快地开始编码。

优势
  • 快速创建项目:Yeoman 能够根据开发者选择的生成器快速创建项目的骨架和目录结构,节省项目初始化的时间。
  • 多种生成器:Yeoman 提供了大量的社区生成器,支持不同的技术栈和应用场景,如 React、Angular、Vue、Node.js 等。
  • 可扩展性强:开发者可以自定义生成器,满足特定项目需求。
使用方式
  1. 安装 Yeoman:
npm install -g yo
  1. 安装生成器:
npm install -g generator-webapp
  1. 创建项目:
yo webapp

Yeoman 是一个非常适合快速生成项目框架的工具,尤其适用于团队合作中需要统一项目结构和规范的场景。


总结:选择合适的工具提高开发效率

每个构建工具都有其独特的优势和适用场景:

  • NX 适合大型 Monorepo 项目,能够高效管理多个应用和模块。
  • browserify 适合需要将 Node.js 模块 引入到浏览器端的场景。
  • Grunt 适合自动化执行前端任务,尤其是在处理文件编译、压缩等重复性工作时。
  • Yeoman 适合快速生成项目骨架,特别是在创建新项目时可以节省大量配置工作。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/965615.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

安装和使用 Ollama(实验环境windows)

下载安装 下载 https://ollama.com/download/windows 安装 Windows 安装 如果直接双击 OllamaSetup.exe 安装&#xff0c;默认会安装到 C 盘&#xff0c;如果需要指定安装目录&#xff0c;需要通过命令行指定安装地址&#xff0c;如下&#xff1a; # 切换到安装目录 C:\Use…

node.js使用mysql2对接数据库

一、引言 在现代Web开发中&#xff0c;Node.js作为一种高效、轻量级的JavaScript运行时环境&#xff0c;已经广泛应用于后端服务的开发中。而MySQL&#xff0c;作为一个广泛使用的关系型数据库管理系统&#xff08;RDBMS&#xff09;&#xff0c;提供了强大的数据存储和查询功能…

Unity 快速入门 1 - 界面操作

本项目将快速介绍 Unity 6的基本操作和功能&#xff0c;下载附件的项目&#xff0c;解压到硬盘&#xff0c;例如 D:\Unity Projects\&#xff0c; 注意整个文件路径中只有英文、空格或数字&#xff0c;不要有中文或其他特殊符合。 1. 打开Unity Hub&#xff0c;点击右上角的 O…

携程Java开发面试题及参考答案 (200道-上)

说说四层模型、七层模型。 七层模型(OSI 参考模型) 七层模型,即 OSI(Open System Interconnection)参考模型,是一种概念模型,用于描述网络通信的架构。它将计算机网络从下到上分为七层,各层的功能和作用如下: 物理层:物理层是计算机网络的最底层,主要负责传输比特流…

云轴科技ZStack+海光DCU:率先推出DeepSeek私有化部署方案

针对日益强劲的AI推理需求和企业级AI应用私有化部署场景&#xff08;Private AI&#xff09;&#xff0c;云轴科技ZStack联合海光信息&#xff0c;共同推动ZStack智塔全面支持DeepSeek V3/R1/Janus Pro系列模型&#xff0c;基于海光DCU实现高性能适配&#xff0c;为企业提供安全…

通信易懂唠唠SOME/IP——SOME/IP协议简介

一 简介 1.1 面向服务的中间件 SOME/IP是Scalable service-Oriented MiddlewarE over IP (SOME/IP)的缩写&#xff0c;基于IP的可扩展面向服务的中间件。 1.2 广泛应用于汽车嵌入式通信 SOME/IP是一种支持远程通信的汽车/嵌入式通信协议 。支持远程过程调用&#xff08;RPC…

游戏引擎学习第89天

回顾 由于一直没有渲染器&#xff0c;终于决定开始动手做一个渲染器&#xff0c;虽然开始时并不确定该如何进行&#xff0c;但一旦开始做&#xff0c;发现这其实是正确的决定。因此&#xff0c;接下来可能会花一到两周的时间来编写渲染器&#xff0c;甚至可能更长时间&#xf…

PostgreSql-COALESCE函数、NULLIF函数、NVL函数使用

COALESCE函数 COALESCE函数是返回参数中的第一个非null的值&#xff0c;它要求参数中至少有一个是非null的; select coalesce(1,null,2),coalesce(null,2,1),coalesce(null,null,null); NULLIF(ex1,ex2)函数 如果ex1与ex2相等则返回Null&#xff0c;不相等返回第一个表达式的值…

【苍穹外卖 Day1】前后端搭建 Swagger导入接口文档

项目技术选型 前端 直接使用打包好的nginx运行。 后端 1、导入初始代码结构如下&#xff1a; 2、将代码上传远程仓库。 3、创建数据库&#xff0c;并修改数据库配置。 4、断点调试&#xff0c;前后端联调。 5、使用Nginx代理&#xff0c;修改Nginx配置 好处&#xff1a;提…

八大排序算法细讲

目录 排序 概念 运用 常见排序算法 插入排序 直接插入排序 思想&#xff1a; 步骤&#xff08;排升序&#xff09;: 代码部分&#xff1a; 时间复杂度&#xff1a; 希尔排序 思路 步骤 gap的取法 代码部分&#xff1a; 时间复杂度&#xff1a; 选择排序 直接选…

python算法和数据结构刷题[3]:哈希表、滑动窗口、双指针、回溯算法、贪心算法

回溯算法 「所有可能的结果」&#xff0c;而不是「结果的个数」&#xff0c;一般情况下&#xff0c;我们就知道需要暴力搜索所有的可行解了&#xff0c;可以用「回溯法」。 回溯算法关键在于:不合适就退回上一步。在回溯算法中&#xff0c;递归用于深入到所有可能的分支&…

【远程控制】安装虚拟显示器

todesk远程发现没显示器的机器有问题 电脑如果不外接一个显示器那么会默认为1024 768 分辨率需要安装虚拟显示器参考 竟然是一个隐私屏幕的解决方案。 虚拟显示器 Parsec-vdd 项目地址 Parsec-vdd 最大的优点是&#xff1a;支持 4K 高刷、可添加多个虚拟屏、 H-Cursor&#…

搭建集成开发环境PyCharm

1.下载安装Python&#xff08;建议下载并安装3.9.x&#xff09; https://www.python.org/downloads/windows/ 要注意勾选“Add Python 3.9 to PATH”复选框&#xff0c;表示将Python的路径增加到环境变量中 2.安装集成开发环境Pycharm http://www.jetbrains.com/pycharm/…

20250206在ubuntu20.04下使用unzip解压缩带中文名的文件

unzip -O GBK yourfile.zip unzip -O CP936 xxx.zip unar xxx.zip 20250206在ubuntu20.04下使用unzip解压缩带中文名的文件 2025/2/6 20:03 缘起&#xff1a;有些ZIP文件&#xff0c;里面有中文文件名。在WINDOWS系统中解压缩正常。 但是在Ubuntu20.04下可以解压缩&#xff0c;…

OSPF基础(1):工作过程、状态机、更新

OSPF基础 1、技术背景&#xff08;与RIP密不可分&#xff0c;因为RIP中存在的问题&#xff09; RIP中存在最大跳数为15的限制&#xff0c;不能适应大规模组网周期性发送全部路由信息&#xff0c;占用大量的带宽资源以路由收敛速度慢以跳数作为度量值存在路由环路可能性每隔30秒…

python学opencv|读取图像(五十三)原理探索:使用cv.matchTemplate()函数实现最佳图像匹配

【1】引言 前序学习进程中&#xff0c;已经探索了使用cv.matchTemplate()函数实现最佳图像匹配的技巧&#xff0c;并且成功对两个目标进行了匹配。 相关文章链接为&#xff1a;python学opencv|读取图像&#xff08;五十二&#xff09;使用cv.matchTemplate()函数实现最佳图像…

C#面试常考随笔12:游戏开发中常用的设计模式【C#面试题(中级篇)补充】

C#面试题&#xff08;中级篇&#xff09;&#xff0c;详细讲解&#xff0c;帮助你深刻理解&#xff0c;拒绝背话术&#xff01;-CSDN博客 简单工厂模式 优点&#xff1a; 根据条件有工厂类直接创建具体的产品 客户端无需知道具体的对象名字&#xff0c;可以通过配置文件创建…

动手学图神经网络(9):利用图神经网络进行节点分类 WeightsBiases

利用图神经网络进行节点分类Weights&Biases 引言 在本篇博客中,将深入探讨如何使用图神经网络(GNNs)来完成节点分类任务。以 Cora 数据集为例,该数据集是一个引用网络,节点代表文档,推断每个文档的类别。同时,使用 Weights & Biases(W&B)来跟踪实验过程和…

React 低代码项目:项目创建

Date: January 29, 2025 项目创建 思路&#xff1a; 使用 Create-React-App 创建 React 项目使用 Vite 创建 React 项目使用 eslint prettier husty 等&#xff0c;制定编码规则 创建项目 注&#xff1a;在这之前&#xff0c;推荐 node 版本&#xff1a;node/18.20.6 &#…

网络工程师 (21)网络的性能

一、速率&#xff08;数据率或比特率&#xff09; 定义&#xff1a;数据在数字信道上传送的速率&#xff0c;通常以比特每秒&#xff08;bps&#xff09;为单位。常见的速率单位还有千比特每秒&#xff08;kbit/s&#xff09;、兆比特每秒&#xff08;Mbit/s&#xff09;和吉比…