Я знаю, что к index.js можно добавить псевдоним, но это не рекомендуется для модулей NPM.
Итак, как мне передать переменные JavaScript, такие как объект options, в шаблон Nunjucks?
data.widget содержит только id, type и editable. Как ни странно, он не содержит label.
index.js
module.exports = {
extend: 'apostrophe-widgets',
label: 'Privacy Cookie Widget',
[...]
}
widget.html
<div class = "[...]-widget">
[...]
{{ data.widget.label }} <!-- Nothing. -->
[...]
</div>
home.html
[...]
{{ apos.singleton(data.[global|page], 'widgetName', 'widget-name', {}) }}
[...]



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


из шаблона вы можете перейти к конфигурации корневых параметров виджетов следующим образом
{{ apos.log(apos.modules['my-cool-widgets'].options.coolStuff) }}
Где coolStuff определен в my-cool-widgets/index.js
module.exports = {
extend: 'apostrophe-widgets',
label: 'Cool Widg',
coolStuff: {
array: [1,2,3,4],
hello: 'boom boom',
hehe: true
},
addFields: [...]
};
Как всегда легко, спасибо! И еще одно спасибо за подсказку
apos.log. :)