1

Sharejs を使用して共同テキスト エディターを作成しようとしていますが、最初はいくつかの問題に直面しています。

私は「はじめに」ページから始めました。をnpm install share使用してサンプルサーバーを実行してから実行し./node_modules/share/bin/exampleserverました。これはうまくいきます。

ただし、「サーバーの実行」セクションの手順に従って、独自の小さなアプリケーションを作成してみました。app.js ファイルと推奨される html を作成しました。これを実行しようとすると、ブラウザ コンソールに socket.io.js が見つからないという 404 エラーが表示されます。

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) 

これを引き起こしている提案やアイデアはありますか? 前に述べたように、事前構成された例はローカルでうまく機能するため、それが機能することはわかっていますが、新しいアプリを作成しようとしているときに何かを正しく構成してはいけません.

ありがとう。

4

1 に答える 1

4

次の変更ログを確認できます。

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

になる

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

例にはまだ古い callback が含まれていますfunction(doc, error)。さらに、クライアントの URL をhttp://example.com:8000/channelに変更します。

私の場合、最終バージョンは次のとおりです。

サーバ

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>
于 2013-04-17T05:52:04.857 に答える