2015-11-24 2 views
1

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

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

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

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

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

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

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

Интересно, просто ли это ошибка в API. когда я перешел на редактор codemirror, он просто сработал. Ошибка заключалась в следующем:

Uncaught TypeError: Cannot read property 'range' of undefined

ответ

1

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

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

Подробнее об этом выпуске GitHub.


What is the second docid here? I guess it's a helper function of the template that contains the unique name of the document that I want to synchronize?

Параметр 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") 

Once I include this in a html (or template), what do I need to do in the js side (client/server?)? Is there anything I should do make the template (sharejsAce) to share text?

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

{ 
    "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" 
      } 
     } 
     } 
    } 
    } 
} 
+0

Большое спасибо. Я только что видел проблему Гитуба! – sangwonlee