Я использую 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