#javascript #node.js
#javascript #node.js
Вопрос:
У меня эта проблема в течение последних 6 или около того часов, и я не могу в ней разобраться. Я отлично следовал примерам, но когда я запускаю свой сервер, консоль.выходные данные журнала не отображаются на HTML-странице. Это мой первый раз, когда я возился с Node.js . Вот код:
Сервер:
require('dotenv').config()
var Twitter = require ('twitter');
var app = require('express')();
var http = require('http').Server(app);
var io = require('socket.io').listen(app);
var port = process.env.PORT || 8000;
var express = require ('express');
var events = require('events')
var eventEmitter = new events.EventEmitter();
// add API keys to .env file. .env_sample for details
var T = new Twitter({
consumer_key: process.env.CONSUMER_KEY,
consumer_secret: process.env.CONSUMER_SECRET,
access_token_key: process.env.ACCESS_TOKEN_KEY,
access_token_secret: process.env.ACCESS_TOKEN_SECRET
});
app.get('/', function(req, res){
res.sendFile(__dirname '/index.html');
});
app.use(express.static(__dirname '/public'));
eventEmitter.on('logging', function(message) {
io.emit('log_message', message);
});
http.listen(port, function(){
console.log('listening on *:' port);
});
// Override console.log
var originConsoleLog = console.log;
console.log = function(data) {
eventEmitter.emit('logging', data);
originConsoleLog(data);
};
// code for test.
setInterval(function() {
console.log('X: ' Math.random());
}, 2000);
/*T.get('statuses/home_timeline', function(error, tweets, response) {
if(error) throw error;
tweets.render
console.log(tweets); // General Tweet Timeline
});*/
HTML:
<!doctype html>
<html lang = "eng">
<head>
<meta charset="UTF-8">
<title> Twitter Client</title>
<link rel="stylesheet" type = "text/css" href="/css/index.css">
</head>
<body>
<img class="logo" src="/images/Twitter_Logo_Blue.png" height = "250" width = "250" alt="blue_bird">
<h1> Using this simple twitter client, the user can view general tweets, specify a specific twitter handle, and search tweets by text. </h1>
<ul id = "messages"></ul>
<script src="https://cdn.socket.io/socket.io-1.2.0.js"></script>
<script src="https://code.jquery.com/jquery-1.11.1.js"></script>
<script>
$(function(){
var socket = io();
socket.on('log_message', function(msg){
$('#messages').append($('<li>').text(msg));
});
});
</script>
</body>
</html>
Хоть убейте, я не могу понять, что происходит, и этот проект должен быть готов в ближайшее время. Любая помощь была бы ВЫСОКО оценена.
Комментарии:
1. вы имеете в виду консоль. войдите в узел?
2. правильно, я пытался вывести консоль. войдите в node на HTML-страницу, я осмотрелся и выяснил, что это возможно с помощью сокетов и метода переопределения, но по какой-то причине это не работает с моей стороны.
3. вы можете генерировать событие на socket.io . Прямой путь.
4. У меня все еще возникают проблемы с запуском этой работы… Большинство моих ошибок в HTML или JS?
5. консоль. вход в узел js не связан с интерфейсом (отправленный вами html). Итак, самый простой способ — это событие emit из сокета. ввод-вывод нужных данных и интерфейс перехватывают событие и выводят данные из системы.