我知道可以为index.js添加别名,但这是not recommended for NPM modules

那么,如何将options对象之类的JavaScript变量传递给Nunjucks模板?

data.widget仅包含idtypeeditable。奇怪的是,它不包含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) }}


coolStuffmy-cool-widgets/index.js中定义的位置

module.exports = {
  extend: 'apostrophe-widgets',
  label: 'Cool Widg',
  coolStuff: {
    array: [1,2,3,4],
    hello: 'boom boom',
    hehe: true
  },
  addFields: [...]
};

10-06 05:44