typescript - socket.io-client@0.9.7 带有 typescript 和 webpack2 导入错误

标签 typescript socket.io webpack-2

ERROR in ./~/socket.io-client/bin/builder.js
Module not found: Error: Can't resolve 'fs' in 'E:\work\brickman2\node_modules\socket.io-client\bin'
@ ./~/socket.io-client/bin/builder.js 11:9-22
@ ./~/socket.io-client/lib/io.js
@ ./src/services/pusher.ts
@ multi main

ERROR in ./~/xmlhttprequest/lib/XMLHttpRequest.js
Module not found: Error: Can't resolve 'fs' in 'E:\work\brickman2\node_modules\xmlhttprequest\lib'
@ ./~/xmlhttprequest/lib/XMLHttpRequest.js 16:9-22
@ ./~/socket.io-client/lib/util.js
@ ./~/socket.io-client/lib/io.js
@ ./src/services/pusher.ts
@ multi main

ERROR in ./~/xmlhttprequest/lib/XMLHttpRequest.js
Module not found: Error: Can't resolve 'child_process' in 'E:\work\brickman2\node_modules\xmlhttprequest\lib'
@ ./~/xmlhttprequest/lib/XMLHttpRequest.js 15:12-36
@ ./~/socket.io-client/lib/util.js
@ ./~/socket.io-client/lib/io.js
@ ./src/services/pusher.ts
@ multi main

我通过 google 和 github issus 进行了搜索,但没有人为我工作。

[email protected]是旧版本,但无法更新。因为服务器中的socket.io版本是0.9.7并且无法更改。如果我更新客户端将无法连接服务器。

最佳答案

我遇到了同样的问题,并找到了下一个解决方案 - 将其捆绑版本替换为需要 socket-io.client。

ES5版本

//var io = require('socket.io-client');
var io = require('socket.io-client/dist/socket.io.js'); //worked solution

ES6版本

//import io from 'socket.io-client';
import io from 'socket.io-client/dist/socket.io.js'; //worked solution

关于typescript - socket.io-client@0.9.7 带有 typescript 和 webpack2 导入错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40500964/

相关文章:

javascript - 类型错误 : Cannot read property 'value' of null in React Form

android - 使用 NodeJS 成功运行 Socket.IO Android 项目

javascript - 来自不同 js 文件的 Webpack 2 可访问功能

javascript - Uncaught ReferenceError : $ is not defined Webpack and embedded script

javascript - 一个函数中的多个事件处理程序

jquery - TS2339 : Property 'username' does not exist on type 'JQuery<HTMLElement>' . 使用 Cypress 夹具时

unit-testing - 在 typescript 中使用类型作为值

javascript - 无法让 socket.io-client 通过 browserify 运行

javascript - 除非全局声明,否则无法从事件处理程序内的函数更新变量

javascript - 使用 Webpack、Node、Express、React、React-Router 时的文件大小