我知道可以为index.js
添加别名,但这是not recommended for NPM modules。
那么,如何将options
对象之类的JavaScript变量传递给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', {}) }}
[...]
最佳答案
从模板中,您可以像这样进入小部件的根选项配置
{{ 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: [...]
};