Bootstrap

NPM 问题:npm error code FETCH_ERROR...npm error invalid json response body at...Unexpected token...

问题描述与处理策略

1、问题描述
npm error code FETCH_ERROR
npm error errno FETCH_ERROR
npm error invalid json response body at http://registry.npmmirror.com/escape-html reason: Unexpected token < in JSON at position 0
  1. NPM 在获取数据时遇到了 FETCH_ERROR,即获取错误,无法从指定的源获取数据

  2. 具体错误是 Unexpected token < in JSON at position 0,在 JSON 解析的起始位置遇到了一个意外的字符 <,表示源返回了一个 HTML 页面(可能是错误页面)而不是预期的数据

2、处理策略
  • 更换 NPM 镜像,由 http://registry.npmmirror.com/ 换成 https://registry.npmmirror.com/
npm config set registry=https://registry.npmmirror.com/

补充学习

1、查看与设置 NPM 镜像
  1. 查看 NPM 镜像
npm config get registry
  1. 设置 NPM 镜像
npm config set registry=https://registry.npmmirror.com/
2、unexpected token 复现
  • 模拟一个场景,其中 JSON 解析器期望得到 JSON 格式的数据,但实际上却收到了包含非法 JSON 字符
const data = "<html><body><h1>Not Found</h1></body></html>";

const jsonData = JSON.parse(data);
console.log(jsonData);
  • 输出结果
<html><body><h1>Not Found</h1></body></html>
^

SyntaxError: Unexpected token < in JSON at position 0

悦读

道可道,非常道;名可名,非常名。 无名,天地之始,有名,万物之母。 故常无欲,以观其妙,常有欲,以观其徼。 此两者,同出而异名,同谓之玄,玄之又玄,众妙之门。

;