У меня есть приложение Node, где я хочу использовать socket.io для передачи данных клиенту, где он отображается с помощью smoothie. У меня установлены оба пакета (через NPM) в двух разных средах узлов и в обоих случаях в подкаталоге node_modules моего проекта. Одной из сред является BeagleBone Black, а другая - среда Cloud9 IDE. В обоих случаях модуль socket.io решает и работает отлично, но никакая комбинация имен путей не получает модуль сглаживания (который я могу получить, если я просто вытащил его из GitHub напрямую).Узел не разрешает клиентский модуль
Вот соответствующие биты на стороне сервера код для Cloud9 IDE:
var app = require('http').createServer(handler)
, io = require('socket.io').listen(app)
, fs = require('fs')
app.listen(process.env.PORT, process.env.IP);
function handler (req, res) {
fs.readFile(__dirname + '/NotWorking.html',
function (err, data) {
if (err) {
res.writeHead(500);
return res.end('Error loading index.html');
}
res.writeHead(200);
res.end(data);
});
}
.
.
.
Здесь находятся соответствующие биты со стороны клиента:
<!DOCTYPE html>
<html>
<head>
<script src="smoothie/smoothie.js"></script>
<script src="socket.io/socket.io.js"></script>
<script>
var line1 = new TimeSeries();
var line2 = new TimeSeries();
var socket = io.connect('http://demo-project.wisar.c9.io/');
socket.on('news', function (data) {
for (var property in data) {
dataPoint = data[property];
}
line1.append(new Date().getTime(), dataPoint);
line2.append(new Date().getTime(), 40);
socket.emit('my other event', { my: dataPoint });
});
</script>
.
.
.
Как я уже говорил, оба модуля расположенный в подкаталоге node_modules каталога проекта, в котором находятся приведенные выше сценарии. Документация узла описывает, как должны быть разрешены разрешения (http://nodejs.org/api/modules.html#modules_all_together), и я думаю, что я могу следовать пути к тому, как он разрешает ссылку на socket.io посредством маршрута index.js ... но он также работает, когда я поставьте «/» впереди, на который я не могу найти путь. Никакая перестановка или комбинация путей не разрешают модулю сглаживания. smoothie, btw, представляет собой небольшое приложение для диаграмм, которое можно найти в npm под этим именем.
Любая помощь будет оценена по достоинству.