react 项目中运行出现 this[kHandle] = new _Hash(algorithm, , xofLen) 怎么办?

113 阅读1分钟

出现问题的原因

首先出现这个问题是node版本过高引起的, 因为 node.js V17开始版本中发布的是OpenSSL3.0, 而OpenSSL3.0对允许算法和密钥大小增加了严格的限制,可能会对生态系统造成一些影响, 具体可见:nodejs Release

解决办法

  1. 可以将本地node版本降到17以下, 例如16.15.1 ;这里推荐node版本管理nvm , 可以按照业务要求随时切换版本
  2. 在package.json 文件中script 的运行命令添加环境变量 NODE_OPTIONS=--openssl-legacy-provider 但此环境变量适用于node17+版本, 如下: