Error: (SystemJS) Can't resolve all parameters for $WebSocket: ([object Object], [object Object], ?)
Error: (SystemJS) Can't resolve all parameters for $WebSocket: ([object Object], [object Object], ?)
下面的代码给出
Error: (SystemJS) Can't resolve all parameters for $WebSocket: ([object Object], [object Object], ?).
app.component.ts
import { Component } from '@angular/core';
import {$WebSocket} from 'angular2-websocket/angular2-websocket'
import {OnInit} from '@angular/core';
import {Inject} from '@angular/core';
@Component({
selector: 'my-app',
templateUrl: `app/root-template.html`,
providers: [$WebSocket]
})
export class AppComponent implements OnInit{
constructor(private websocket:$WebSocket) {
}
ngOnInit(): void {
console.log('init')
}
}
并且angular2-websocket代码可以在这里看到:https://github.com/afrad/angular2-websocket/blob/master/src/angular2-websocket.ts
我调查了 and ,但它们似乎与我的问题不同。
我发现 Websocket 的参数有问题。在构造函数的括号中调用参数是不可能的,即使我把它取下来只留下 providers: [$WebSocket]
我仍然会得到错误。如果我只留下
import {$WebSocket} from 'angular2-websocket/angular2-websocket'
没有错误
SystemJS 试图解析的那些参数到底是什么?
我的 emitDecorator 是真的,尽管我不知道这是干什么用的。
试试这个
//...import
let myws = new $WebSocket("ws://127.0.0.1:7000"); // config your url
@Component({
//...
providers: [{provide: $WebSocket, useValue: myws}]
})
export class AppComponent implements OnInit{
// ...
}
$WebSocket 构造函数需要 1 个参数,您需要提供它。
constructor(private url: string, private protocols?: Array<string>, private config?: WebSocketConfig, private binaryType?: BinaryType)
https://github.com/afrad/angular2-websocket/blob/master/src/angular2-websocket.ts#L45
下面的代码给出
Error: (SystemJS) Can't resolve all parameters for $WebSocket: ([object Object], [object Object], ?).
app.component.ts
import { Component } from '@angular/core';
import {$WebSocket} from 'angular2-websocket/angular2-websocket'
import {OnInit} from '@angular/core';
import {Inject} from '@angular/core';
@Component({
selector: 'my-app',
templateUrl: `app/root-template.html`,
providers: [$WebSocket]
})
export class AppComponent implements OnInit{
constructor(private websocket:$WebSocket) {
}
ngOnInit(): void {
console.log('init')
}
}
并且angular2-websocket代码可以在这里看到:https://github.com/afrad/angular2-websocket/blob/master/src/angular2-websocket.ts
我调查了
我发现 Websocket 的参数有问题。在构造函数的括号中调用参数是不可能的,即使我把它取下来只留下 providers: [$WebSocket]
我仍然会得到错误。如果我只留下
import {$WebSocket} from 'angular2-websocket/angular2-websocket'
没有错误
SystemJS 试图解析的那些参数到底是什么?
我的 emitDecorator 是真的,尽管我不知道这是干什么用的。
试试这个
//...import
let myws = new $WebSocket("ws://127.0.0.1:7000"); // config your url
@Component({
//...
providers: [{provide: $WebSocket, useValue: myws}]
})
export class AppComponent implements OnInit{
// ...
}
$WebSocket 构造函数需要 1 个参数,您需要提供它。
constructor(private url: string, private protocols?: Array<string>, private config?: WebSocketConfig, private binaryType?: BinaryType)
https://github.com/afrad/angular2-websocket/blob/master/src/angular2-websocket.ts#L45