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

旧版 Flutter 写的项目, 想要在新的环境上运行?

DeepSeek 给出的最佳实践

以下是针对拷贝 Flutter 项目到新环境运行的 完整检查清单和最佳实践,覆盖了环境配置、版本兼容性、依赖管理等多个关键点:


📋 完整检查清单

检查项操作方式/命令重要性
1. Flutter SDK 版本flutter --version 对比项目flutter_version约束(如有)⭐⭐⭐⭐
2. Dart SDK 版本dart --version 检查pubspec.yaml中的sdk: ">=x.x.x <y.y.y"⭐⭐⭐
3. Gradle 版本检查android/gradle/wrapper/gradle-wrapper.properties中的distributionUrl⭐⭐⭐⭐
4. JDK 版本java -version(需与项目匹配,通常 JDK 11/17)⭐⭐⭐⭐
5. Android 语言检查android/build.gradle中的kotlinVersion或Java兼容性⭐⭐
6. 依赖仓库源检查android/build.gradle中的repositories(jcenter/mavenCentral)⭐⭐⭐
7. Android SDK 版本检查android/app/build.gradlecompileSdk/targetSdk/minSdk⭐⭐⭐⭐
8. iOS 环境检查ios/Podfile中的platform :ios版本和Ruby版本(如2.7.0⭐⭐⭐⭐
9. 原生插件兼容性检查pubspec.yaml中插件是否支持当前Flutter版本⭐⭐⭐
10. 环境变量确认ANDROID_HOMEJAVA_HOME等路径正确⭐⭐⭐
11. 签名配置检查android/app/build.gradlesigningConfigs(必要时替换调试密钥)⭐⭐
12. 平台工具确保Android Studio/Xcode已安装所需SDK和构建工具⭐⭐⭐⭐

🛠️ 最佳实践步骤

1. 基础环境确认
# 检查Flutter环境是否正常
flutter doctor
# 确认JDK版本(要求与项目一致,常见JDK 11/17)
java -version
2. 同步Flutter版本
  • 如果项目根目录有.fvm文件夹(使用FVM版本管理):
    fvm use <版本>  # 切换到指定Flutter版本
    fvm flutter pub get
    
3. 处理Gradle和JDK
  • Gradle版本:修改android/gradle/wrapper/gradle-wrapper.properties
    distributionUrl=https\://services.gradle.org/distributions/gradle-7.5-all.zip
    
  • JDK版本:通过JAVA_HOME或Android Studio的Project Structure设置。
4. 更新依赖仓库

android/build.gradle中替换已弃用的仓库:

buildscript {repositories {google()mavenCentral()  // 优先替换jcenter()}
}
5. 清理和重建缓存
# 清理旧构建
flutter clean
# 重新获取依赖
flutter pub get
# iOS专属:更新Pod(需在ios目录执行)
cd ios && pod install --repo-update
6. 处理平台特定配置
  • Android
    • 检查android/local.properties中的sdk.dir路径是否正确。
    • 确认android/app/src/main/AndroidManifest.xml中的包名和权限。
  • iOS
    • 检查ios/Runner.xcodeproj/project.pbxproj中的签名配置(Team ID)。
    • 更新ios/Podfile中的iOS最低版本(如platform :ios, '13.0')。
7. 插件兼容性处理
  • 查看插件文档是否支持当前Flutter版本:
    flutter pub outdated  # 检查过期依赖
    
8. 运行和调试
# 优先在模拟器/真机运行以验证环境
flutter run -d <设备ID>
# 或构建Release版本
flutter build apk --release

⚠️ 常见问题解决方案

问题类型解决方案
Gradle构建失败删除android/.gradle文件夹后重建
iOS CocoaPods错误执行pod repo update并检查ios/Podfile.lock是否与团队一致
JDK版本冲突通过JAVA_HOME切换版本或使用jenv工具管理
插件不兼容降级Flutter版本或使用dependency_overrides临时解决
网络依赖下载超时配置国内镜像源(如阿里云Maven)或使用VPN

📌 总结流程图

拷贝项目
检查flutter doctor
是否环境正常?
修复缺失工具链
同步Flutter/Gradle版本
清理缓存并获取依赖
处理平台配置签名
运行测试

按照以上流程操作,可确保移植项目在新环境快速运行。遇到问题优先查看flutter doctor提示和构建日志中的错误行。

附加 AGP 版本检查

在它输出最佳实践时, 我的编译过程又报了 AGP 插件兼容提示
所以我又让它补充了一下

是的!AGP(Android Gradle Plugin)版本是 Flutter 项目移植到新环境时最容易被忽视但极其关键的一环,必须与 Gradle、JDK 版本严格匹配。以下是完整整合方案:


🔥 新增 AGP 版本检查项(核心!)

检查点操作方式关联影响
AGP 版本查看 android/build.gradledependencies.classpath必须与 Gradle/JDK 版本兼容
Gradle 兼容性对照 官方兼容表版本错配会导致构建失败
Java/Kotlin 编译AGP 7.0+ 需 JDK 11+, AGP 8.0+ 需 JDK 17+影响 flutter build

🛠️ AGP 相关配置最佳实践

1. 定位当前 AGP 版本

打开 android/build.gradle

dependencies {classpath 'com.android.tools.build:gradle:7.4.2'  // 👈 这里就是 AGP 版本
}
2. 根据 AGP 版本调整依赖
  • 匹配 Gradle 版本(参考下表):
AGP 版本所需 Gradle 版本JDK 要求
7.0.x7.0+JDK 11+
7.4.x7.5+JDK 11+
8.0.x8.0+JDK 17+
  • 修改 gradle-wrapper.properties
    distributionUrl=https\://services.gradle.org/distributions/gradle-7.5-bin.zip
    
3. 处理 AGP 升级/降级
  • 升级 AGP(谨慎操作):

    // android/build.gradle
    classpath 'com.android.tools.build:gradle:8.0.2'  // 改为目标版本
    

    同步需修改:

    • compileSdk/targetSdk ≥ AGP 要求
    • 检查插件是否兼容新版本(如 kotlin-gradle-plugin
  • 降级 AGP(解决兼容性问题):

    classpath 'com.android.tools.build:gradle:7.4.2'  // 回退到稳定版本
    
4. 修复常见 AGP 错误
  • 错误示例
    > A problem occurred evaluating project ':app'.
    > Failed to apply plugin 'com.android.internal.application'.Android Gradle plugin requires Java 17 to run. 
    
    解决方案
    • 安装 JDK 17 并设置 JAVA_HOME
    • 或在 android/gradle.properties 中强制降级:
      org.gradle.java.home=/path/to/jdk11
      

📋 整合后的完整检查表

在原有清单中新增 AGP 专项检查

检查阶段具体操作
前期检查1. 核对 android/build.gradle 的 AGP 版本与 官方兼容表
2. 确认 gradle-wrapper.properties 中的 Gradle 版本匹配 AGP 要求
环境配置3. 根据 AGP 要求安装对应 JDK(如 AGP 8.0 → JDK 17)
构建调试4. 首次构建前执行 ./gradlew clean 清除旧缓存

💡 关键提示

  1. Flutter 默认 AGP 版本

    • Flutter 3.13+ 默认使用 AGP 8.0(需 JDK 17)
    • 旧项目若使用 AGP 7.x,需锁定版本避免自动升级
  2. 多项目协同

    // android/build.gradle
    subprojects {afterEvaluate { project ->if (project.hasProperty("android")) {android {compileSdkVersion 34  // 统一子模块SDK版本}}}
    }
    
  3. 国内镜像加速
    android/build.gradle~/.gradle/init.gradle 中添加阿里云镜像:

    repositories {maven { url 'https://maven.aliyun.com/repository/google' }maven { url 'https://maven.aliyun.com/repository/public' }
    }
    

通过严格把控 AGP ↔ Gradle ↔ JDK 的三者版本关系,可解决 90% 的 Android 构建问题。遇到复杂情况时,建议使用 Android Studio 的 Project Structure 面板可视化调整版本:
File > Project Structure > Project (Gradle/AGP/JDK)

个人感受

安卓的编译着实有点搞死人
相比较而言iOS运行真的是很方便

相关文章:

旧版 Flutter 写的项目, 想要在新的环境上运行?

DeepSeek 给出的最佳实践 以下是针对拷贝 Flutter 项目到新环境运行的 完整检查清单和最佳实践&#xff0c;覆盖了环境配置、版本兼容性、依赖管理等多个关键点&#xff1a; &#x1f4cb; 完整检查清单 检查项操作方式/命令重要性1. Flutter SDK 版本flutter --version 对比…...

Flutter接入ProtoBuff和原生Android通信【性能最优】

Protocol Buffers&#xff08;简称Protobuf&#xff09;是由 Google 开发的一种结构化数据序列化框架&#xff0c;旨在实现高效的数据交换与存储。其核心特性及优势如下&#xff1a; 一、核心特性 ‌跨语言与跨平台‌ 支持多种编程语言&#xff08;如 C、Java、Python、Dart …...

【MySQL】(10)用户和权限管理

一、应用场景 通常一个应用对应一个数据库&#xff0c;我们希望某个数据库只能被相关人员操纵&#xff0c;就需要创建用户并指定权限。只有登录该用户&#xff0c;才能在权限范围内操纵数据库。root 是权限最高的用户&#xff0c;它拥有所有的权限。 二、查询用户 在 mysql 数…...

学成在线之缓存

一&#xff1a;缓存 把白名单可以看到的信息和学生用户下的我的学习&#xff0c;我的选课等这些信息&#xff0c;存到缓存中&#xff0c;因为这些查询量比较大。 当查询时&#xff0c;先去检查缓存中是否有这个数据&#xff0c;如果有&#xff0c;就直接返回 如果没有&#…...

视频编解码学习8之视频历史

视频技术的发展历史可以追溯到19世纪&#xff0c;至今已跨越近200年。以下是视频技术发展的主要阶段和里程碑&#xff1a; 1. 早期探索阶段&#xff08;19世纪-1920年代&#xff09; 1832年&#xff1a;约瑟夫普拉托&#xff08;Joseph Plateau&#xff09;发明"费纳奇镜&…...

从装饰器出发,优雅处理 UI 自动化中的异常

二、装饰器核心原理&#xff1a;函数式编程的“语法糖” 在 UI 自动化测试的实际场景中&#xff0c;页面加载超时、元素定位失败、网络波动等异常问题频繁出现。传统的try-except嵌套方式虽然能捕获异常&#xff0c;但会导致业务代码与处理逻辑高度耦合&#xff0c;造成代码冗…...

华为首款鸿蒙电脑正式亮相

在2025年5月8日的鸿蒙电脑技术与生态沟通会上&#xff0c;华为终端BG平板与PC产品线总裁朱懂东发表演讲。鸿蒙办公将支持无缝协同&#xff08;统一账户 / 多端同步&#xff09;、智慧体验&#xff08;鸿蒙 AI / 智慧交互&#xff09;、融合生态&#xff08;桌面生态 / 移动生态…...

森林生态学研究深度解析:R语言入门、生物多样性分析、机器学习建模与群落稳定性评估

在生态学研究中&#xff0c;森林生态系统的结构、功能与稳定性是核心研究内容之一。这些方面不仅关系到森林动态变化和物种多样性&#xff0c;还直接影响森林提供的生态服务功能及其应对环境变化的能力。森林生态系统的结构主要包括物种组成、树种多样性、树木的空间分布与密度…...

需求分析阶段测试工程师主要做哪些事情

在软件测试需求分析阶段&#xff0c;主要围绕确定测试范围、明确测试目标、细化测试内容等方面开展工作&#xff0c;为后续测试计划的制定、测试用例的设计以及测试执行提供清晰、准确的依据。以下是该阶段具体要做的事情&#xff1a; 1. 需求收集与整理 收集需求文档&#x…...

IBM BAW(原BPM升级版)使用教程第五讲

结前篇&#xff01; 一、服务&#xff1a;外部服务 在 IBM Business Automation Workflow (BAW) 中&#xff0c;外部服务&#xff08;External Services&#xff09;是指在流程中调用和集成外部系统或服务的组件。外部服务允许IBM BAW与其他业务系统、应用程序或第三方服务进行…...

一个用C#开发的记事本Notepads开源编辑器

从零学习构建一个完整的系统 推荐一个用C#开发的&#xff0c;模仿Nodepad的记事本编辑器。 项目简介 这是一个国人开发的&#xff0c;采用Fluent Design风格&#xff0c;支持Markdown语法及其预览&#xff0c;可以用于替代Windows自带记事本功能。 虽然它没有Nodepad、VS C…...

Office宏病毒钓鱼-打点突破

Office宏钓鱼 [攻击路径] / [利用流程] - 详细步骤&#xff1a;制作一个简单的Word宏钓鱼文档 步骤一&#xff1a;规划恶意宏功能 (Payload Design) 目的&#xff1a; 决定宏执行后要达成的目标。为教学演示&#xff0c;我们设定一个简单的目标&#xff1a;弹出一个消息框&…...

神经网络—感知器、多层感知器

文章目录 前言一、生物神经元与感知器的类比二、感知器1、简单感知器2、多层感知器&#xff08;1&#xff09;多层感知机结构 3、神经网络结构 总结1、感知器的局限性如何突破感知器的局限性&#xff1f; 2、感知器的应用 前言 感知器&#xff08;Perceptron&#xff09;是神经…...

美化IDEA注释:Idea 中快捷键 Ctrl + / 自动注释的缩进(避免添加注释自动到行首)以及 Ctrl + Alt + l 全局格式化代码的注释缩进

打开 Settings 界面&#xff0c;依次选择 Editor -> Code Style -> Java&#xff0c;选择 Code Generation&#xff0c; 取消 Line comment at first column 和 Block comment at first column 的勾选即可&#xff0c; 1、Line comment at first column (行注释在第一列…...

基于大型语言模型的高效时间序列预测模型选择

时间序列预测在金融、医疗、能源等多个领域具有重要意义&#xff0c;其结果对于决策和规划起到关键作用。然而&#xff0c;选择合适的预测模型往往需要丰富的领域知识和大量计算资源。Abdallah等&#xff08;2022&#xff09;的研究表明&#xff0c;没有单一算法能在所有预测任…...

2025 EAU UTUC指南学习笔记③:诊断策略精读——从症状到活检,如何科学判断治疗路径?

&#x1f44b; 欢迎关注我的学习专栏~ 如果觉得文章有帮助&#xff0c;别忘了点赞、关注、评论&#xff0c;一起学习 本文聚焦UTUC的诊断策略&#xff0c;全面梳理影像学检查、尿液学检测、内镜评估与活检手段&#xff0c;并结合指南推荐等级&#xff0c;提出科研视角的思考。 …...

【Ubuntu】Netplan静态网络配置

1.配置文件 # 默认配置文件&#xff1a;/etc/netplan/*.yaml# 本机 rootubuntu-server:~# vim /etc/netplan/50-cloud-init.yaml 2.DHCP network: ethernets:ens33:dhcp4: trueversion: 2 3.静态IP设置 注意&#xff1a;netplan 说明文件格式存储在下列路径下…...

【SQLSERVER】Ubuntu 连接远程 SQL Server(MSSQL)

Ubuntu 连接远程 SQL Server&#xff08;MSSQL&#xff09; 引言 在企业级开发环境中&#xff0c;跨平台的数据库连接是常见需求。虽然 SQL Server 通常在 Windows 服务器上运行&#xff0c;但在 Ubuntu 上连接远程 SQL Server 也非常重要。本文将详细介绍如何在 Ubuntu 上通…...

GuPPy-v1.2.0安装与使用-生信工具52

GuPPy&#xff1a;Python中用于光纤光度数据分析的免费开源工具 01 背景 Basecalling 是将原始测序信号转换为碱基序列的过程&#xff0c;通俗地说&#xff0c;就是“把碱基识别出来”。这一过程在不同代测序技术中各不相同&#xff1a; 一代测序是通过解析峰图实现&#xff1…...

Mysql-OCP PPT课程讲解并翻译

#跳过介绍&#xff0c;直接从干货开始记录 第一章 安装mysql...

maven 依赖冲突异常分析

异常如下 Description:An attempt was made to call a method that does not exist. The attempt was made from the following location:com.google.common.cache.CacheBuilder.initialCapacity(CacheBuilder.java:353)The following method did not exist:com.google.common…...

【软件设计师:软件工程】9.软件开发模型与方法

一、软件危机与软件工程 软件危机与软件工程是计算机科学发展中密切相关的两个概念。 1.软件危机(Software Crisis) 背景:20世纪60年代至80年代,随着计算机硬件性能提升,软件规模与复杂度剧增,传统开发方法难以应对,导致大量项目失败。 表现: 成本失控:开发周期长、…...

用uniapp在微信小程序实现画板(电子签名)功能,使用canvas实现功能

效果&#xff1a; 功能&#xff1a;实现重签 退出 保存 等功能 解决的问题: 电子签名画布抖动问题解 注意&#xff1a; 保存的时候上传到自己的服务器地址&#xff0c;后端返回图片地址 代码&#xff1a; <template><view><view class"signature&qu…...

旅游设备生产企业的痛点 质检系统在旅游设备生产企业的应用

在旅游设备制造行业&#xff0c;产品质量直接关系到用户体验与企业口碑。从景区缆车、观光车到水上娱乐设施&#xff0c;每一件设备的安全性与可靠性都需经过严苛检测。然而&#xff0c;传统质检模式常面临数据分散、流程不透明、合规风险高等痛点&#xff0c;难以满足旅游设备…...

为什么使用Less替代原始CSS?

What is Less&#xff1f; Less 是一种 CSS 预处理器&#xff0c;它在 CSS 的基础上添加了许多有用的特性&#xff0c;提供了更高效、更灵活的方式来编写样式代码。 特性&#xff1a; 1、变量&#xff08;Variables&#xff09; 优势&#xff1a; 可以定义一个值并在整个样…...

C++ - 类和对象 #日期类的实现

文章目录 前言 一、导言 二、构造 三、比较大小 1、实现大于 2、等于 3、大于等于 4、小于 5、小于等于 6、不等于 二、加减 1、加与加等 2、减与减等 3、、-- 4、日期-日期 三、流提取、流插入 1、流插入 2、流提取 四、日期类所有代码汇总 总结 前言 路…...

6:点云处理—QT三维窗口显示

1.编写halcon显示程序 导出C格式 *读取三维点云 dev_get_window(WindowHandle)dev_open_window(0, 0, 512, 512, black, WindowHandle1)*512, 512 CamParam : [0.01,0,7e-6,7e-6,512/2, 512/2,512, 512] DisPose:[30.427, -1.05274, 97.8798, 8.29326, 356.416, 99.016, 0]*彩…...

css3伸缩盒模型第三章(伸缩相关)

伸缩盒模型第三章(伸缩) 介绍了伸缩性的伸缩提现到哪些方面&#xff0c;以及flex 居中的小技巧&#xff0c;视觉差异等 flex 水平垂直居中伸缩性flex 复合式属性项目排序侧轴单独对齐 flex 水平居中 我们可以使用flex 使元素居中对齐&#xff0c;当然也可以用 margin 等进行…...

【Ubuntu】安裝向日葵远程控制

前言 在Ubuntu 24.04.2下安装向日葵远程控制出错&#xff0c;少了一些依赖&#xff0c;需要安装一些依赖。 1.安装gconf2-common wget http://mirrors.kernel.org/ubuntu/pool/universe/g/gconf/gconf2-common_3.2.6-6ubuntu1_all.deb sudo dpkg -i gconf2-common_3.2.6-6ub…...

Screeps Arena基础入门

本文主要内容 JavaSsript语法使用VScode编译环境Screeps Arena游戏规则 JavaSsript语法使用 基本数据类型 // String, Numker,Boolean,null, undefined const username "John"; const age 30; const rate 4.5; const iscool true; const x null; #表示值为…...

docker 安装 sqlserver2022 和注意点

一、前言 1、可以直接参考微软官方文档 快速入门&#xff1a;使用 Docker 运行 SQL Server Linux 容器映像&#xff0c;这里主要是说一些注意点和坑 二、安装 1、拉取镜像 docker pull mcr.microsoft.com/mssql/server:2022-latest2、创建挂载目录&#xff0c;这里只是比官方…...

Centos系统详解架构详解

CentOS 全面详解 一、CentOS 概述 CentOS&#xff08;Community Enterprise Operating System&#xff09; 是基于 Red Hat Enterprise Linux&#xff08;RHEL&#xff09; 源代码构建的免费开源操作系统&#xff0c;专注于稳定性、安全性和长期支持&#xff0c;广泛应用于服…...

Git实战经验分享:深入掌握git commit --amend的进阶技巧

一、工具简介 git commit --amend是Git版本控制系统的核心补救命令&#xff0c;主要用于修正最近一次提交的元数据。该命令不会产生新的提交记录&#xff0c;而是通过覆盖原提交实现版本历史的整洁性&#xff0c;特别适合在本地仓库进行提交优化。 二、核心应用场景 提交信息…...

基于LSTM与SHAP可解释性分析的神经网络回归预测模型【MATLAB】

基于LSTM与SHAP可解释性分析的神经网络回归预测模型【MATLAB】 一、引言 在数据驱动的智能时代&#xff0c;时间序列预测已成为许多领域&#xff08;如金融、气象、工业监测等&#xff09;中的关键任务。长短期记忆网络&#xff08;LSTM&#xff09;因其在捕捉时间序列长期依…...

C++卡特兰数讲解

前情提要&#xff0c;参考资料:卡特兰数 - OI Wiki 一、定义 卡特兰数&#xff08;Catalan number&#xff09;是一个在组合数学中经常出现的数列&#xff0c;应用范围很广&#xff0c;例如括号匹配问题、出栈顺序问题、多边形三角剖分问题等。在 C 中&#xff0c;可以使用多种…...

【数据融合实战手册·应用篇】“数字孪生+视频融合”让智慧城市拥有空间感知

一、视频融合技术如何破局城市治理&#xff1f; #从"碎片监控"到"上帝视角" 传统视频监控系统画面分散&#xff0c;监管人员需要观看多个分镜头画面&#xff0c;难以将零散的分镜头视频与其实际地理位置对应&#xff0c;容易产生信息孤岛&#xff0c;同时…...

[数据库之十一] 数据库索引之联合索引

执行数据库查询时&#xff0c;通常查询条件是多对个属性进行判断和约束&#xff0c;对于这种类型的查询&#xff0c;如果存在多个索引则使用多个索引&#xff0c;或者使用建立在多属性搜索码上的索引&#xff0c;这样能提高查询效率。 一、使用多个单码索引 假设数据表 instruc…...

【Linux】Linux工具(1)

3.Linux工具&#xff08;1&#xff09; 文章目录 3.Linux工具&#xff08;1&#xff09;Linux 软件包管理器 yum什么是软件包关于 rzsz查看软件包——yum list命令如何安装软件如何卸载软件补充——yum如何找到要安装软件的下载地址 Linux开发工具Linux编辑器-vim使用1.vim的基…...

微信小程序使用腾讯云COS SDK实现用户头像上传

引入与初始化COS SDK &#xff08;从官网下载cos-wx-sdk-v5.js文件&#xff0c;本地上传&#xff09; const COS require(../../../static/utils/cos-wx-sdk-v5.js) as any;//实例化一个cos对象 const cos new COS({SecretId: AK***********************VedSJ, //idSecretK…...

什么是HTML、CSS 和 JavaScript?

HTML、CSS 和 JavaScript 是构建网页的三大核心技术&#xff0c;它们分工明确又紧密协作。接下来我将分别介绍三者的定义、功能&#xff0c;并阐述它们如何共同构成网页&#xff0c;最后推荐学习资源。 一、HTML&#xff1a;网页的骨架与内容基础 HTML&#xff08;HyperText …...

兼具直连存储与分布式存储优势的混合存储方案

兼具直连存储与分布式存储优势的混合存储方案 一、分层存储架构 ‌热数据本地直存‌ 将高频访问的热数据&#xff08;如数据库事务日志、实时计算中间结果&#xff09;存储在DAS本地SSD中利用DAS的低延迟特性提升实时性要求高的业务性能 ‌温冷数据分布式存储‌ 低频访问的温…...

App Store支付新政重构跨境电商生态:eBay卖家的突围之道

2024年4月&#xff0c;美国联邦法院对苹果应用商店支付体系的裁决掀起全球电商海啸。这场源自Epic Games诉讼案的制度变革&#xff0c;正在跨境电商领域掀起超预期的蝴蝶效应。本文将深入剖析政策变革对eBay生态的冲击路径&#xff0c;揭示跨境卖家转型升级的核心策略。 一、支…...

Rust 开发环境搭建与插件

生成完整文章 用户请求写一篇完整的CSDN文章&#xff0c;要求根据之前的建议生成。文章要包含结构清晰、标题、代码示例、常见提示、跨平台Rust工具链安装差异等内容。文章需准确&#xff0c;包括插件和使用提示&#xff0c;CLI程序示例等。主要内容包括&#xff1a;介绍、Rus…...

Axios替代品Alova

介绍alova | Alova.JS Multipart 实体请求 | Axios中文文档 | Axios中文网 1. 极致的轻量与性能 Tree-shaking优化&#xff1a;仅打包使用到的功能模块 零依赖&#xff1a;基础包仅 4KB&#xff08;Axios 12KB&#xff09; 2. 智能请求管理&#xff08;开箱即用&#xff0…...

【C语言】文件操作(续)

目录 复习&#xff1a; 一⽂件的顺序读写 例子&#xff1a; 前言&#xff1a; 在上篇文章中介绍了文件的类型&#xff0c;文件指针&#xff0c;流&#xff0c;操作的函数。 在本篇文章继续为大家带来文件细节分享&#xff0c;如 顺序读写等等。 复习&#xff1a; fopen是…...

Angular 面试常见问题

1. 请阐述 Angular 的工作原理 Angular 的工作流程涉及多个关键环节&#xff0c;从组件交互到浏览器渲染&#xff0c;以下是其核心流程&#xff1a; 组件交互&#xff1a;当用户触发特定事件&#xff08;如点击按钮&#xff09;时&#xff0c;组件会响应这些交互&#xff0c;…...

数据库(MySQL)基础

一、登录数据库 在linux系统中登录数据库的指令 mysql -h 127.48.0.236 -P 3306 -u root -p -h&#xff1a;填写IP地址&#xff0c;指明要连接的主机。如果不加该字段表示本地主机-P&#xff1a;填写端口号&#xff0c;指明进程。 如果不加该字段会使用默认的端口号。-u&…...

【Java ee 初阶】文件操作和IO(上)

一、文件 文件在计算机中&#xff0c;是保存到“硬盘”上的。操作系统&#xff0c;把硬盘操作进行了抽象封装&#xff0c;使得编程的时候&#xff0c;是不会直接操作硬盘的&#xff0c;而是通过“文件”的概念来进行间接操作。 文件有哪些操作&#xff1f;——>打开文件&a…...

微信小程序备案的一些记录

小程序如果没有备案是搜索不到小程序的。 小程序备案需要填写主体负责人的信息&#xff0c;需要主体负责人的手机号验证码&#xff0c; 需要填写管理员的信息&#xff0c;同样也需要验证手机号码&#xff0c; 填写完毕之后&#xff0c;提交进行初审&#xff0c;初审之后会打…...

leetcode0279. 完全平方数-medium

1 题目&#xff1a;完全平方数 官方标定难度&#xff1a;中 给你一个整数 n &#xff0c;返回 和为 n 的完全平方数的最少数量 。 完全平方数 是一个整数&#xff0c;其值等于另一个整数的平方&#xff1b;换句话说&#xff0c;其值等于一个整数自乘的积。例如&#xff0c;1…...