Проблема с рабочим процессом и модулем блога - PullRequest
0 голосов
/ 03 мая 2018

Я использую Apostrophe Sandbox, потому что он почти соответствует моему варианту использования. Я добавил Workflow, потому что мне нужно иметь два языка.

Теперь, если я добавлю статью в блог и захочу ее просмотреть, приложение упало со следующей ошибкой:

C:\Users\Gradlon\Desktop\apostrophe\node_modules\apostrophe-workflow\lib\api.js:568
    if (locale.match(/-draft$/)) {
               ^

TypeError: Cannot read property 'match' of undefined
    at Object.self.draftify (C:\Users\Gradlon\Desktop\apostrophe\node_modules\apostrophe-workflow\lib\api.js:568:16)
    at getTwo (C:\Users\Gradlon\Desktop\apostrophe\node_modules\apostrophe-workflow\lib\api.js:274:70)
    at C:\Users\Gradlon\Desktop\apostrophe\node_modules\async\lib\async.js:718:13
    at iterate (C:\Users\Gradlon\Desktop\apostrophe\node_modules\async\lib\async.js:262:13)
    at C:\Users\Gradlon\Desktop\apostrophe\node_modules\async\lib\async.js:274:29
    at C:\Users\Gradlon\Desktop\apostrophe\node_modules\async\lib\async.js:44:16
    at C:\Users\Gradlon\Desktop\apostrophe\node_modules\async\lib\async.js:723:17
    at C:\Users\Gradlon\Desktop\apostrophe\node_modules\async\lib\async.js:167:37
    at C:\Users\Gradlon\Desktop\apostrophe\node_modules\apostrophe-workflow\lib\api.js:270:16
    at C:\Users\Gradlon\Desktop\apostrophe\node_modules\apostrophe\lib\modules\apostrophe-docs\lib\cursor.js:1086:18
    at C:\Users\Gradlon\Desktop\apostrophe\node_modules\async\lib\async.js:52:16
    at C:\Users\Gradlon\Desktop\apostrophe\node_modules\async\lib\async.js:1209:30
    at C:\Users\Gradlon\Desktop\apostrophe\node_modules\apostrophe\lib\modules\apostrophe-docs\lib\cursor.js:1379:18
    at C:\Users\Gradlon\Desktop\apostrophe\node_modules\async\lib\async.js:52:16
    at Immediate.<anonymous> (C:\Users\Gradlon\Desktop\apostrophe\node_modules\async\lib\async.js:269:32)
    at Immediate.<anonymous> (C:\Users\Gradlon\Desktop\apostrophe\node_modules\async\lib\async.js:44:16)

После некоторого тестирования я сузил его до следующих строк, вызывающих ошибку:

<div class="demo-blog-author">
  <div class="demo-blog-author-image">
    {% if data.piece._author.thumbnail.items.length %}
      {{ apos.singleton(data.piece._author, 'thumbnail', 'apostrophe-images', { noHeight: true, edit: false}) }}
    {% endif %}
  </div>
  <div class="demo-blog-author-bio">
    {% if data.piece._author %}
        {{ apos.area(data.piece._author, 'body', {
          widgets: {
           'apostrophe-rich-text': {}
         }
       }) }}
    {% endif %}
  </div>
</div>

Как было предложено в первом ответе, я попытался использовать тестовый стенд enterpürise. https://github.com/apostrophecms/apostrophe-enterprise-testbed Это приводит к той же ошибке! Шаги приняты 1. Скачать репо. 2. установить модули. 3. Восстановить MongoDB. 4. Запустите приложение. 5. Добавьте статью в блоге со связанным автором. 6. Просмотр статьи (Crash)

Любая помощь в решении этой проблемы будет принята с благодарностью.

С уважением Gradlon

1 Ответ

0 голосов
/ 04 мая 2018

Как вы инициализируете apostrophe-workflow? Какие опции вы передаете ему в вашем app.js?

Похоже, сама локаль вообще не установлена ​​в контексте: https://www.npmjs.com/package/apostrophe-workflow#localizing-and-internationalizing-websites

Может, тебе все еще нужно бежать?

$ node app apostrophe-workflow:add-missing-locales

Также см. https://github.com/apostrophecms/apostrophe-workflow/issues/164 для некоторых подсказок с той же трассировкой стека.

Удачи!

...