【问题标题】:node js, ReferenceError: app is not defined节点js,ReferenceError:应用程序未定义
【发布时间】:2021-06-04 05:31:05
【问题描述】:

1.这是我的 websocket.service.ts 文件

import { Injectable } from '@angular/core';
import { Observable, } from 'rxjs';
import  {io} from 'socket.io-client';
  
@Injectable({
  providedIn: 'root'
})
export class WebsocketService {

  socket: any;
  readonly uri: string = "ws://localhost:3000";
    
  constructor() {
    this.socket = io(this.uri);
   }
    
  listen(eventName: string, data:any){
    return new Observable((subscriber) => {
      this.socket.on(eventName, (data) => {
        subscriber.next(data)
      })
    })
  }
    
  emit(eventName: string , data: any){
    this.socket.emit(eventName,data);
  }
}
  1. 这是我的 app.components.ts 文件
import { Component, OnInit } from '@angular/core';
import { WebsocketService } from './websocket.service';
    
@Component({
  selector: 'app-root',
  templateUrl: './app.component.html',
  styleUrls: ['./app.component.css']
})
export class AppComponent implements OnInit {
  title = 'socket-io-example';
    
  constructor( private websockerservice: WebsocketService){
  }
    
  ngOnInit(){
    // here we want to listen to an event from socket.io server
    this.websockerservice.listen('test event','data').subscribe((data) =>{
      console.log(data);
    })
  }
}
  1. 这是我的 node.js、socket-io.server.js 文件
var server = require('http').Server(app); //here i got refernce error: app is not defined
                                        ~~~
var io = require('socket.io')(server);
    
io.on('connection', function(socket){
    console.log("A user cconnected");
    
    socket.emit('test event', 'here is some data');
});
    
server.listen(3000, () => {
    console.log("server.io server is listing to port 3000")
});

【问题讨论】:

    标签: node.js angular socket.io


    【解决方案1】:

    您必须先定义app。使用 express,您可以执行以下操作:

    const express = require('express');
    var app = express();
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-12-07
      • 2019-04-08
      • 2019-12-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-11-08
      相关资源
      最近更新 更多