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)
У кого-нибудь есть какие-либо предложения или идеи, что вызывает это? Я знаю, что это может работать, потому что предварительно сконфигурированный пример отлично работает локально, как я упоминал ранее, просто я не должен настраивать что-то правильно, когда я пытаюсь создать новое приложение.
Благодарю.
1 ответ
В списке изменений вы можете увидеть следующее:
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>