应用场景
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 }`
})
})
成功解决问题