在Nx工作区的Svelte项目中引入socket.io-client出现构建解析错误
解决方法
核心报错原因是Rollup打包浏览器端代码时,无法识别socket.io-client引入的Node.js内置模块,且你存在依赖安装错误的问题,按以下步骤修改即可:
- 修正依赖安装命令:你步骤6执行的
yarn socket.io-client缺少add参数,依赖未正确安装,先执行yarn add socket.io-client重新安装依赖 - 安装Rollup Node模块polyfill插件:执行
yarn add -D rollup-plugin-polyfill-node安装开发依赖,用于补齐浏览器环境缺失的Node内置模块 - 修改Svelte应用的Rollup配置:找到项目下对应Svelte应用的
rollup.config.js文件,按如下内容修改:
import nodePolyfills from 'rollup-plugin-polyfill-node'; export default { // 保留原有配置字段不变 external: ['bufferutil', 'utf-8-validate'], plugins: [ nodePolyfills(), // 保留原有其他插件配置不变 ], // 若使用TypeScript,添加以下配置解决sourcemap报错 output: { sourcemap: true, // 保留原有output配置不变 } }
- 配置修改完成后重新执行启动命令即可正常运行
内容的提问来源于stack exchange,提问作者Akshay Kumar
相关产品推荐
相关产品推荐

