Настройка ShareJS в Метеоре

У меня проблемы с настройкой meteor-share.js.

В основном я следовал их README.

{{> sharejsAce docid=docid id="editor"}}

Какой второй docid Вот? Я предполагаю, что это вспомогательная функция шаблона, которая содержит уникальное имя документа, который я хочу синхронизировать?

Что первое docid? это ключевое слово для meteor-share.js?

Как только я включу это в html (или шаблон), что мне нужно сделать на стороне js (клиент / сервер?)? Что-нибудь, что я должен сделать, сделать шаблон (sharejsAce), чтобы поделиться текстом?

У меня нет нескольких редакторов на странице, поэтому я не уверен, что мне следует включать и исключать из демонстрации.

Интересно, это просто ошибка в API? когда я перешел на редактор codemirror, он просто работал. Ошибка говорила:

Uncaught TypeError: Невозможно прочитать свойство 'range' из неопределенного

1 ответ

Решение

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

Вы можете сделать это, выполнив следующую команду: meteor add mizzao:sharejs-ace@=1.1.9 или путем изменения версии вручную в .meteor/versions файл: mizzao:sharejs-ace@1.1.9,

Узнайте больше об этой проблеме на GitHub.


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

docid параметр в {{> sharejsAce docid=docid id="editor"}} используется для указания документа, который должен отображаться в редакторе. Итак, второе docid это имя вспомогательной функции, которая просто возвращает документ _id который был выбран:

Template.docItem.events =
  "click a": (e) ->
   e.preventDefault()
   Session.set("document", @_id)


Template.editor.helpers
  docid: -> Session.get("document")

Как только я включу это в html (или шаблон), что мне нужно сделать на стороне js (клиент / сервер?)? Что-нибудь, что я должен сделать, сделать шаблон (sharejsAce), чтобы поделиться текстом?

Если вы хотите отразить данные ShareJS в коллекции Meteor и использовать управление доступом пользователей ShareJS, вам нужно создать файл настроек, как в демонстрации:

{
  "sharejs": {
    "options": {
      "accounts_auth": {
        "authorize": {
            "collection": "documents",
            "token_validations": {
              "or": {
                "invitedUsers": "is_in_array",
                "userId": "is_equal"
              }
            },
            "apply_on": [
              "read",
              "update",
              "create",
              "delete"
            ]
        },
        "authenticate": {
            "collection": "users",
            "token_validations": {
              "_id": "is_equal"
            }
        }
      }
    }
  }
}
Другие вопросы по тегам