2013-03-10 3 views
1

Я пытаюсь создать совместный текстовый редактор, используя Sharejs, но у меня есть проблемы с самого начала.ShareJS пример не работает

Я начал работу с страницы «Начало работы». Я запустил npm install share, а затем запустил пример сервера, используя ./node_modules/share/bin/exampleserver. Это прекрасно работает.

Однако я попытался создать свое собственное небольшое приложение, выполнив шаги раздела «Запуск сервера». Я написал app.js файл и HTML, который предлагается, и когда я попытался запустить эту консоль браузер дает ошибку 404 заявив, что не может найти socket.io.js:

GET http://localhost:8000/socket.io/socket.io.js 404 (Not Found) 

, а затем я получаю эта ошибка неоднократно:

GET http://localhost:8000/test?VER=8&MODE=init&zx=ktil5643g6cw&t=1 404 (Not Found) 

Есть ли у кого-нибудь предложения или идеи, что вызывает это? Я знаю, что это может сработать, потому что предварительно сконфигурированный пример отлично работает локально, как я упоминал ранее, просто я не должен настраивать что-то прямо, когда пытаюсь создать новое приложение.

Спасибо.

+0

вы когда-нибудь это решить? У меня такая же проблема, и ответ ниже не решил ее для меня – jonnie

ответ

4

I список изменений вы можете увидеть следующее:

client.open('hello', 'text', function(doc, error) { 
    // ... 
}); 

становится

client.open('hello', 'text', function(error, doc) { 
    // ... 
}); 

Пример еще содержит устаревшую функцию обратного вызова function(doc, error). Кроме того, измените URL-адрес клиента на http://example.com:8000/channel.

В моем случае окончательной версии:

SERVER

var connect = require('./node_modules/connect'), 
    sharejs = require('./node_modules/share').server; 

var server = connect(
    connect.logger(), 
    connect.static(__dirname + '/public') 
); 
var options = {db:{type:'none'}}; // See docs for options. {type: 'redis'} to enable persistance. 

// Attach the sharejs REST and Socket.io interfaces to the server 
sharejs.attach(server, options); 

server.listen(8000, function() { 
    console.log('Server running at http://127.0.0.1:8000/'); 
}); 

КЛИЕНТ

<!DOCTYPE html> 
<html> 
<head> 
    <title>Test</title> 
    <script src="http://ajaxorg.github.com/ace/build/src/ace.js"></script> 
    <script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script> 
    <script src="/channel/bcsocket.js"></script> 
    <script src="/share/share.js"></script> 
    <script src="/share/ace.js"></script> 
    <script> 
     $(document).ready(function() { 
      var editor = ace.edit("editor"); 

      sharejs.open('hello', 'text', 'http://localhost:8000/channel', function (error, doc) { 
       doc.attach_ace(editor); 
      }); 
     }); 
    </script> 
    <style> 
     #editor { 
      width: 200px; 
      height: 100px; 
     } 
    </style> 
</head> 
<body> 
<div id="editor"></div> 
</body> 
</html> 
+0

Должен ли сервер быть node.js или я могу использовать IIS в качестве сервера? – AFetter

+2

ShareJS - это библиотека операционного преобразования для NodeJS и браузеров. – Marboni

 Смежные вопросы

  • Нет связанных вопросов^_^