出现这个问题的原因是因为Angular 12需要的Socket IO的版本较低,而当前安装的Socket IO版本太高,所以会导致编译失败。解决方法是需要手动安装较低版本的Socket IO,具体操作如下:
npm uninstall socket.io
npm install socket.io@2.3.0
import { SocketIoModule, SocketIoConfig } from 'ngx-socket-io';
const config: SocketIoConfig = { url: 'http://localhost:3000', options: {} };
@NgModule({ declarations: [ AppComponent ], imports: [ BrowserModule, SocketIoModule.forRoot(config) ], providers: [], bootstrap: [AppComponent] }) export class AppModule { }
其中SocketIoModule
和SocketIoConfig
都需要导入。
这样就可以成功编译Angular 12中的Socket IO,并正常使用了。