《拿下奇怪的前端报错》序章:报错输出个数值数组Buffer(475) [Uint8Array],我来教它说人话!

news2024/9/19 13:52:05

作为前端开发者,你可能会遇到过一些奇奇怪怪的报错(相信我你早晚会遇到),关键是它未给出具体错误的位置,或者是一些很奇怪的信息。

我以前都是还原代码,然后找到错误的位置。或者是瞎弄一通,测试各种办法搞定,但不知道它到底是哪儿,最近觉得这样不好,于是专门开始记录啦

这篇就作为系列序章,希望大家读完有所收获

首先贴一个奇怪的报错吧,它是一个前端vue3+typescript的项目,构建的时候失败了,请看报错信息:

node:child_process:935
    throw err;
    ^
Error: Command failed: npm run build
    at checkExecSyncError (node:child_process:861:11)
    at execSync (node:child_process:932:15)
    at /home/jenkins/workspace/cloudpcadmin-voi-build/scripts/ci/bundle.cjs:117:5
    at Array.forEach (<anonymous>)
    at buildMods (/home/jenkins/workspace/cloudpcadmin-voi-build/scripts/ci/bundle.cjs:105:17)
    at Object.<anonymous> (/home/jenkins/workspace/cloudpcadmin-voi-build/scripts/ci/bundle.cjs:56:1)
    at Module._compile (node:internal/modules/cjs/loader:1198:14)
    at Object.Module._extensions..js (node:internal/modules/cjs/loader:1252:10)
    at Module.load (node:internal/modules/cjs/loader:1076:32) {
  status: 2,
  signal: null,
  output: [
    null,
    Buffer(475) [Uint8Array] [
       10,  62,  32,  99, 108, 111, 117, 100, 112,  99,  97, 100,
      109, 105, 110,  64,  48,  46,  48,  46,  48,  32,  98, 117,
      105, 108, 100,  10,  62,  32, 118, 117, 101,  45, 116, 115,
       99,  32,  45,  98,  32,  38,  38,  32, 118, 105, 116, 101,
       32,  98, 117, 105, 108, 100,  10,  10, 115, 114,  99,  47,
       99, 111, 109, 112, 111, 110, 101, 110, 116, 115,  47,  67,
      111, 109, 112, 117, 116, 101, 114,  78, 101, 116, 119, 111,
      114, 107,  68, 105, 115, 107,  77, 111, 100,  97, 108,  46,
      118, 117, 101,  40,
      ... 375 more items
    ],
    Buffer(0) [Uint8Array] []
  ],
  pid: 31896,
  stdout: Buffer(475) ,
  stderr: Buffer(0) [Uint8Array] []
} // 这里放出文字报错,只是希望让某些不知所措的小可爱搜索时命中错误模式

是不是一脸懵逼,它里面没有给出报错的位置,堆栈给出的都是Nodejs的核心库的位置(loader、bundler)以及构建脚本的位置。最奇怪的是,它的output和stdout是一个 很大(通常)的Buffer数组,如果你是小白或者刚入前端的新人,肯定会感到手足无措:心里暗想,我的个乖乖,这啥玩意儿啊,大神才能看懂吗?如果你给以前的我来看,我也只会是使用如下的万金油策略:

前端框架问题万金油解决办法顺序 :

1. 问ChatGPT/Claude优先,其次才是国产模型(最近新增)

2. 把问题复制百度它谷歌它,最终你要么进了csdn/stackoverflow/git,要么显示找不到结果

3. 重新安装node_modules(记得先强制删除),中途出现任何报错都重装

4. 切换node版本,记得用nvm管理多版本nodejs

5. 清理构建缓存:就是项目目录下 除了.git的那些,都删了

6. 后路:把当前代码复制下来,保存到别的目录,然后git迁出到可以编译成功的记录,再一个个文件的还原吧(这是最笨的办法,但基本能解决所有问题,除非你一次构建成功都没有过 )

下面我们用先用传统方法分析这个报错:

1. 百度,它给出了莫名其妙的回答,因为这个错误每个人都不一样,很难找到;其它搜索引擎也差不多。

2. 通义千问:

从您提供的错误信息来看,您遇到了一个命令执行失败的问题,具体是在尝试运行 npm run build 命令时出现了错误。错误信息指出了一些关键点:

  • 问题发生在构建(build)过程中。
  • 错误发生在脚本文件 /home/jenkins/workspace/cloudpcadmin-voi-build/scripts/ci/bundle.cjs 的第 117 行附近。
  • 构建脚本尝试对多个模块进行构建,这在第 105 行有体现。
  • 错误是由 Node.js 子进程执行同步命令 (execSync) 失败导致的。

巴拉巴拉,它也只是分析出了构建脚本能够看到的位置。

为了进一步诊断问题,建议查看详细的构建日志或者尝试在本地环境中重现这个问题。如果问题依旧无法解决,您可以寻求社区的帮助,例如在 Stack Overflow 或 GitHub 上创建 issue 并附上尽可能多的相关信息。

估计很多大模型都是。然后用chatgpt-4o:

You may want to add more logging to your bundle.cjs file to print additional details, especially around the failing line. Adding logging around the execSync call may help identify the underlying issue.

If you share more details about the specific command or line at bundle.cjs:117:5, I can provide further assistance.

它依旧无法解决。

最后Claude3.5

这个错误表明在执行 npm run build 命令时出现了问题。让我们逐步分析并提供一些可能的解决方案:

       1-10忽略,平平无奇,因为和别的答案差不多

       11.检查 src/components/ComputerNetworkDiskModal.vue: 错误信息中提到了这个文件,可能存在问题。检查这个文件的 TypeScript 类型定义。

聪明的你肯定也发现了:他给出一个vue文件src/components/ComputerNetworkDiskModal.vue,那么问题来了,从这个奇怪的报错中,怎么看出这个文件的?!!!

我强迫它解释,交出秘笈,毕竟最终我是希望看到此处的各位的都能学会。迫于我的威压,它委屈巴巴的回答了:

好的把,我将这些数字转换为了 ASCII 码。这些数字实际上是 UTF-8 编码的字节值,我们可以将它们解码为可读的文本。让我为您解码:

> cloudpcadmin@0.0.0 build > vue-tsc -b && vite build src/components/ComputerNetworkDiskModal.vue(

揭晓答案:那些数字,其实是一个ASCII码的数值表示,不要问我什么是ASCII码(去搜)。

这个问题,或者一系列的问题,以后都有解决办法了。用vscode打开那个文件,发现果然有个微不足道的类型报错,as any临时搞定,构建成功!

这个问题的关键就在于基础知识的理解,解构!解构!解构!以后看到文字 就要联想到它知识一个个ASCII数值 绘制在屏幕上,看到一个活物就想到它知识一堆细胞,一堆分子原子

下一篇就等我遇到或者解决了一个奇奇怪怪的ts问题(它并不影响构建)再书啦

看完记得眺望下远方,下午有中秋活动,大概率没空摸鱼写东西了

YU.H

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

neo4j安装为服务+配置环境变量

目录 neo4j安装为服务 windows services 参照JDK&#xff0c;将neo4j加入到环境变量 neo4j安装为服务 windows services 我的上一篇文章详细写明了如何安装启动neo4j《neo4j安装启动教程对应的jdk配置》&#xff0c;文末的启动neo4j是通过cmd命令行访问bin目录&#xff0c;这…

【设计模式-适配】

Adapter Pattern&#xff08;适配器模式&#xff09; 是一种结构型设计模式&#xff0c;其主要目的是让不兼容的接口能够协同工作。适配器模式通过引入一个适配器类&#xff0c;转换一个类的接口&#xff0c;使得原本不兼容的接口可以互相配合&#xff0c;从而实现接口的兼容性…

国庆旅游高峰期,景区如何利用可视化大屏保障游客安全?

国庆假期即将来临&#xff0c;中国文化和旅游部发布的数据显示&#xff0c;今年国庆期间国内旅游市场将迎来爆发式增长&#xff0c;预计出游人次将达到8.96亿&#xff0c;同比增长86%&#xff0c;旅游收入预计将达到7825亿元人民币&#xff0c;同比增长138%。这一繁荣景象无疑给…

使用Apache SeaTunnel高效集成和管理SftpFile数据源

本文为Apache SeaTunnel已经支持的SftpFile Source Connector使用文档&#xff0c;旨在帮助读者理解如何高效地使用SFTP文件源连接器&#xff0c;以便轻松地使用Apache SeaTunnel集成和管理您的SftpFil数据源。 SftpFile 是指通过 SFTP&#xff08;Secure File Transfer Proto…

CC工具箱1.3.6更新_免费_120+工具

CC工具箱1.3.6更新【2024.9.11】 使用环境要求&#xff1a;ArcGIS Pro 3.0 一、下载链接 https://pan.baidu.com/s/1OJmO6IPtMfX_vob3bMtvEg?pwduh5r 二、使用方法 1、在下载链接中下载安装文件【CC工具箱1.3.6.esriAddinX】&#xff0c;直接点击安装即可。 2、安装好后打…

诸葛智能助力唐山银行、三峡媒体斩获「数智卓越企业」大奖

近日&#xff0c;2024爱分析第六届数据智能高峰论坛在北京成功举办&#xff0c;旨在深入探讨AI大模型与数据要素在企业智能化转型中的重要作用&#xff0c;分享前沿技术成果与头部企业实践经验。 诸葛智能作为数智化转型的优秀厂商&#xff0c;携手同样走在行业转型前沿的先锋…

网络爬虫的最佳实践:结合 set_time_limit() 与 setTrafficLimit() 抓取云盘数据

在数据爬取领域&#xff0c;百度云盘作为国内领先的云存储服务平台&#xff0c;拥有海量的用户和数据资源。因此&#xff0c;对于技术开发者而言&#xff0c;如何高效、稳定地对百度云盘中的公开资源进行数据抓取成为了一个值得探讨的课题。本文将结合 PHP 的 set_time_limit()…

PVE虚拟机被锁定locked解决方法

打开pve节点的shell&#xff0c;执行以下命令 qm unlock <VMID> 示例&#xff1a; qm unlock 112

Mobile net V系列详解 理论+实战(1)

Mobilenet 系列 论文精讲部分0.摘要1. 引文2. 引文3. MobileNet 模型架构3.0 卷积个人理解3.1 深度可分离卷积3.2 网络结构和训练3.3 宽度乘数&#xff1a;更细的模型 α3.4 分辨率乘数&#xff1a;降低表示的维度ρ 4. 实验4.1 模型选择4.2. 模型缩减超参数4.3. 细粒度识别4.4…

YOLOv9改进策略【卷积层】| HWD,引入`Haar小波变换`到下采样模块中,减少信息丢失

一、本文介绍 本文记录的是利用Haar小波下采样对YOLOv9网络进行改进的方法研究。传统的卷积神经网络中常用的最大池化、平均池化和步长为2的卷积等操作进行下采样可能会导致信息丢失&#xff0c;为了解决信息丢失问题&#xff0c;HWD作者受无损信息变换方法的启发&#xff0c;…

python本地进程通讯----共享内存变量

背景 最近在开发实践中&#xff0c;接触到了需要多进程开发的场景。众所周知&#xff0c;进程和线程最大的区别就在于&#xff1a;进程是资源分配的最小单位&#xff0c;线程是cpu调度的最小单位。对于多进程开发来说&#xff0c;每一个进程都占据一块独立的虚拟内存空间&#…

大数据新视界 --大数据大厂之探索ES:大数据时代的高效搜索引擎实战攻略

&#x1f496;&#x1f496;&#x1f496;亲爱的朋友们&#xff0c;热烈欢迎你们来到 青云交的博客&#xff01;能与你们在此邂逅&#xff0c;我满心欢喜&#xff0c;深感无比荣幸。在这个瞬息万变的时代&#xff0c;我们每个人都在苦苦追寻一处能让心灵安然栖息的港湾。而 我的…

致计算机新生们

欢迎你们踏入计算机科学的世界&#xff0c;这是一个充满挑战与机遇的领域。在你们即将开始的大学旅程中&#xff0c;了解计算机专业的就业方向和行业现状是非常重要的。以下是一些关于计算机专业就业方向和行业现状的介绍&#xff0c;希望能够帮助你们更好地规划自己的未来。 …

土豆王国小乐队携手阿派朗创造力乐园,打造2024年okgo儿童音乐节

艺术与科技的完美融合&#xff0c;为首都少年儿童带来音乐盛宴 北京&#xff0c;2024年9月19日 —— 备受期待的2024年okgo儿童音乐节即将于9月21日至22日在北京阿派朗创造力乐园盛大开幕。这场由土豆王国小乐队与阿派朗创造力乐园联合举办的音乐节&#xff0c;旨在为首都及全国…

波分技术基础 -- WDM/OTN介绍

什么是WDM WDM&#xff08;Wavelength Division Multiplexing&#xff09;&#xff1a;波分复用技术&#xff0c;将不同波长的光信号复用到一根光纤中进行传送的方式&#xff08;每个波长承载一个业务信号&#xff09;&#xff0c;主要功能是传送和复用。在波分技术出现之前&am…

Gephi 0.9.2中文版百度云下载(附教程)

如大家所了解的&#xff0c;Gephi常用于各种图形和网络的可视化和探索&#xff0c;是最受欢迎的网络可视化软件之一。在生物科学领域&#xff0c;常用于基因共表达网络、蛋白互作网络、微生物相互关系网络等等类似的网络图形绘制。 目前用的比较多的版本为Gephi 0.9.2&#xf…

使用rust自制操作系统内核

一、系统简介 本操作系统是一个使用rust语言实现&#xff0c;基于32位的x86CPU的分时操作系统。 项目地址&#xff08;求star&#xff09;&#xff1a;GitHub - CaoGaorong/os-in-rust: 使用rust实现一个操作系统内核 详细文档&#xff1a;自制操作系统 语雀 1. 项目特性 …

深度学习自编码器 - 使用自编码器学习流形篇

序言 在数据科学的浩瀚宇宙中&#xff0c;深度学习如同一颗璀璨的星辰&#xff0c;引领着我们对复杂数据内在规律的探索。其中&#xff0c;自编码器作为深度学习家族中的一位独特成员&#xff0c;以其非凡的能力——通过无监督学习捕捉数据的有效表示&#xff0c;而备受瞩目。…

Tomcat_WebApp

Tomcat的目录的介绍 /bin&#xff1a; 这个目录包含启动和关闭 Tomcat 的脚本。 startup.bat / startup.sh&#xff1a;用于启动 Tomcat&#xff08;.bat 文件是 Windows 系统用的&#xff0c;.sh 文件是 Linux/Unix 系统用的&#xff09;。shutdown.bat / shutdown.sh&#xf…

Java 实现桌面烟花秀

前言 今天&#xff0c;我们将展示如何使用 Java Swing 创建一个烟花效果&#xff0c;覆盖整个桌面。我们将重点讲解如何在桌面上展示烟花、如何实现发射和爆炸效果&#xff0c;以及如何将这些效果整合到一个完整的程序中。 效果展示 如上图所示&#xff0c;我们在桌面实现了&…