node.js - 在部分上下文中从 Assemble 的选项对象访问自定义基本 url 属性

标签 node.js handlebars.js assemble

所以看起来很简单(但我无法让它工作)..

我想在我的 Gruntfile 中的 Assemble 中的选项对象中设置一个自定义属性,并希望从 YML 中的部分上下文之一访问它。

假设我的项目中有一个文件夹,其中包含 .md-files 中的所有文档..(app/src/documentation)

在选项对象中我想做一些类似的事情:

assemble: {
      options: {
        jsDoc: '<%= yeoman.app %>/src/documentation',
      },

然后在我的一个部分中我想执行以下操作:

---
title: Headings
status: In progress
tabs:
  - tab: html
  - tab: css
  - tab: js
  - tab: description
  - tab: links
jsDoc: filename.md
---
<!-- Show markdown documentation -->
{{md jsDoc}}

现在我收到一条错误消息:

Warning: Cannot call method 'indexOf' of undefined Use --force to continue.

任何人都可以提供有关如何使其发挥作用的任何提示/想法吗?

奖金信息: 为了让事情变得更复杂一点,我实际上想在另一个部分中使用 {{md jsDoc}} (使用我的自定义助手),在那里我可以访问我的其他部分上下文..

我已经提出了一些要点,展示了我现在拥有的代码。

它位于此处:

https://gist.github.com/dgsunesen

  • “sgComponent helper” - 展示我如何使用我的助手
  • “Gruntfile” - 显示我的自定义助手的当前选项。
  • “标题” - 需要访问 jsDoc 选项并在 sgComponent.hbs 内呈现的部分
  • “sgComponent.js” - 我的自定义助手,它采用基本部分和要在其中渲染的部分
  • sgComponent.hbs - 我的基本部分,其中呈现我的标题部分。

提前致谢! 丹

最佳答案

如果您仅使用其自身部分内的部分物质,那么这非常简单......

---
title: Headings
status: In progress
tabs:
  - tab: html
  - tab: css
  - tab: js
  - tab: description
  - tab: links
jsDoc: "<%= jsDoc %>/filename.md"
---
<!-- Show markdown documentation -->
{{md headings.jsDoc}}

您可以使用 lodash 模板将主 jsDoc 属性与部分属性组合起来。然后根据部分的名称引用{{headings.jsDoc}}

但是从您的帮助程序代码来看,您似乎希望将 jsDoc 设置在另一个部分(动态添加)中,然后在 sgComponent 文件中使用。 为此,我认为您需要将主选项中的变量与部分中的 jsDoc 实际组合起来,而不是执行流程内容。如果您尝试使用 lodash 处理内容,它会陷入循环,因为您如何在助手中获取前面的内容。

此外,请确保正确传入参数,因为 indexof 错误可能来自 globyfm

希望这对一些人有帮助。

关于node.js - 在部分上下文中从 Assemble 的选项对象访问自定义基本 url 属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24861075/

相关文章:

javascript - 如何在带 meteor 的 Handlebars 助手中使用多个参数?

javascript - 每次迭代在 Handlebars 内选择带有 jquery 的元素

handlebars.js - 使用 Assemble 从不同的集合中获取 "pages"

node.js - 术语 'node' 未被识别为 cmdlet、函数、脚本文件或可运行程序的名称

node.js - 缓存 promise 导致 Node.js 中未处理的 promise 拒绝

node.js - 如何在node.js中调用服务器端的函数

node.js - Google Chrome 中的视频搜索 : How to handle continuous Partial Content requests?

jquery-plugins - Ember 数据日期绑定(bind)

gruntjs - grunt-processhtml 定义可变数量的文件

javascript - 如何使用 View 和布局通过 Grunt 生成 HTML 页面?