socket.io包含如下:
<body>
<ion-app></ion-app>
<script src="https://cdnjs.cloudflare.com/ajax/libs/socket.io/1.4.8/socket.io.js"></script>
<!-- cordova.js required for cordova apps -->
....
...
</body>
在服务中:
import '..';
@Injectable()
export class ApiEndpoint {
public socket: any;
constructor() {
this.socket = io(remote); <-- ERROR Cannot find name 'io'.
}
}
我该如何处理此错误?顺便说一句,这只是编译时间错误。令人惊讶的是,这个程序运行得很好。
您可以添加环境声明(称为io(以避免编译时错误:
import '..';
// Prevent compile-time errors
declare var io;
@Injectable()
export class ApiEndpoint {
public socket: any;
constructor() {
this.socket = io(remote); <-- ERROR Cannot find name 'io'.
}
}
declare
关键字用于环境声明,在环境声明中,您希望定义可能不是源自TypeScript文件的变量。