我正在尝试使用 webrtc 构建一个简单的视频聊天服务。我指的是 html5rocks 文章中介绍 webrtc 基础知识的教程..[http://www.html5rocks.com/en/tutorials/webrtc/basics/][1]
server.js在具有完美视频流和聊天服务的本地主机上使用 node-static 工作正常。问题是当我试图在 heroku上托管它时.. server.js 工作..浏览器窗口只显示一个文本框,它是我的 index.html 文件的基本布局..所以我的代码中肯定存在一些问题。 server.js 文件中缺少托管所需的某些内容heroku..这是Server.js的代码..请帮我解决这个问题..告诉我托管它的正确方式,因为我知道我在这里遗漏了一些东西..
var static = require('node-static');
/*var http = require('http');
var file = new(static.Server)();
var app = http.createServer(function (req, res) {
file.serve(req, res);
}).listen(2013);
*/
var express = require('express');
var app = express();
console.log(express.static(__dirname + '/js'));
app.use(express.static(__dirname + '/js'));
app.all('*', function(req, res){
res.sendfile("index.html");
});
app.listen(9000);
var io = require('socket.io').listen(app);
io.sockets.on('connection', function (socket){
function log(){
var array = …Run Code Online (Sandbox Code Playgroud) 我试图在服务中使用Angular 2 Renderer类方法.
首先,我将它注入到类构造函数中,如下所示:
@Injectable
export class MyService{
constructor(private renderer: Renderer,
private _cd: ChangeDetectorRef){}
myFunct(){
this.renderer.setElementStyle(......);
}
......
}
Run Code Online (Sandbox Code Playgroud)
有了这个,浏览器控制台就抛出一个错误堆栈:
Error: No provider for Renderer!
at NoProviderError.BaseError [as constructor] (http://local.xyz.com:3000/vendor.bundle.js:30912:34)
at NoProviderError.AbstractProviderError [as constructor] (http://local.xyz.com:3000/vendor.bundle.js:28881:16)
Run Code Online (Sandbox Code Playgroud)
我在StackOverflow上阅读了与此类问题相关的几个答案,以及Angular DI上的一篇关于nattram的博客文章,并尝试使用如下@Inject的服务类构造函数:
constructor(@Inject(Renderer) renderer : Renderer){}
Run Code Online (Sandbox Code Playgroud)
仍然没有成功,仍然得到同样的错误.我相信我在这里错过了一些技巧.它在我在组件中使用相同的东西时工作,我不知道它为什么不在服务类中接受它.