Module “child_process“ has been externalized for browser compatibility and cannot

应用场景

vue3 + ts + vite3 中使用socket.io-client 2.X进行和后端数据刷新。
由于后端修改版本带来的工作量比较大,所以只能自己去降级修改。

问题

为了与浏览器兼容,模块“child_process”已被外部化,无法在客户端代码中访问.

意思就是我们使用vite运行这个项目缺少child_process 这个Node内置模块,那我们就行办法去在运行项目时内置这个模块就行。

解决方案
步骤1 安装工具vite-plugin-optimizer

yarn add vite-plugin-optimizer -D

步骤2 在vite.config.ts中引入

import optimizer from 'vite-plugin-optimizer'

步骤3 使用

optimizer({
        child_process: () => ({
          find: /^(node:)?child_process$/,
          code: `const child_process = import.meta.glob('child_process'); export { child_process as default }`
        })
      })

Module “child_process“ has been externalized for browser compatibility and cannot_第1张图片
成功解决问题

你可能感兴趣的:(前端日常笔记,前端,Nodejs,javascript,前端,typescript)