2012-11-07 2 views
1

이 JavaScript/node.js 스타일의 HTML 코딩에 아주 익숙합니다. 과거에는 HTML을 사용하여 수행 한 모든 작업이 정적/정보 스타일 페이지였습니다.node-xmpp/xmpp 서버와 통신 할 HTML 페이지를 얻으십시오.

사용자 (서버 주소, 포트, 사용자 JID, 비밀번호, 채팅 메시지, 다른 사용자 JID 등)에서 xmpp 관련 정보를 가져 와서 node.js를 통해 라우팅하는 HTML 웹 페이지를 만들려고합니다. 서버를 xmpp 서버에 추가하십시오. 궁극적으로 내가하려는 것은 webrtc.io code을 가져 와서 XMPP 서버에서 사용자와 연결되고 상호 작용하도록 확장하는 것입니다. 이렇게하기 위해 node-xmpp 모듈을 발견하고 프로젝트 작업 디렉토리 내의 node_modules 폴더에 "nem install"을 설치했습니다.

그런 다음 사용자 정보를 가져온 index.html 파일 (텍스트 입력 상자)을 만든 다음 index.html 파일에 포함 된 javascript 파일 내에서 함수를 호출합니다. 자바 스크립트 파일 내에서 require 함수/const xmpp = require('node-xmpp') 호출을 추가하고 var client = new xmpp.Client({[connection settings]});을 추가 한 다음 몇 가지 기본 스탠자 ​​처리기 및 기타 xmpp 함수로 시작했습니다.

정보를 입력하기 전에 브라우저에서 코드를 실행하면 콘솔에 오류가 있음을 알 수 있습니다. 처음에는 내가 작성한 xmpp 함수에 오류가 있었기 때문에 모든 내용에 대해 단지 new xmpp.Client({}) 행을 연결하여 연결할지 여부를 결정했습니다. 그런데 cont xmpp = require('node-xmpp')에 오류가 발생합니다. 그 오류가

이 HTML/자바 스크립트/서버 물건의 모든 내 제한된 이해에서

Uncaught ReferenceError: require is not defined (anonymous function)

, 나는 무슨 일이 일어나고 것은 클라이언트/브라우저/알고 중 하나 Node.js를 또는 노드에 액세스 할 수 없다는 것입니다 생각입니다 -xmpp 라이브러리.

이게 맞습니까? 다르게 일을해야합니까? 그리고 이것을 다루는 좋은 튜토리얼/문서가 있습니까?

답변

0

내가 무슨 말을하는지 이해한다면 브라우저에서 노드 코드를 실행하려고합니다. 노드 소스는 브라우저가 아닌 서버에서 실행해야합니다. 두 가지 JavaScript 파일 집합이 있습니다. 즉, 브라우저에서 브라우저로 실행되는 노드와 노드 인스턴스를 사용하여 서버에서 실행되는 노드입니다. 내가 잘못 이해했다면 시스템의 구조에 대해 조금 더 이야기 해주십시오.

+0

감사합니다. 나는 당신의 충고를 따르기로 결정했기 때문에 나는 브라우저/클라이언트가 xmpp에 대한 시도와 관리를 시도하는 대신에 서버가 모든 연결을 관리하게하려는 시도를 포기할 것이다. – AeroBuffalo

+0

브라우저를 사용하여 XMPP 연결을 처리하는 가장 좋은 방법은 BOSH 서버를 통해 클라이언트가 XMPP 서버 (예 : chat.facebook.com)에 대한 연결을 제어하도록하는 것입니다. 이는 끊임없이 보내는 대신 더 많은 대역폭을 절약 할 수 있습니다 모든 수신/발신 메시지에 대해 서버에서 데이터 수신 – xorinzor

0

require() 함수를 알 수 없으므로 문제가 발생했습니다. node.js를 포함하여 몇 가지 실수를했을 수도 있습니다.

당신은 당신의 질문에 대한 답을 찾을 수도 있습니다 `require 'socket.io-client.js'` not working

확인합니다.

관련 문제