Node.js   发布时间:2022-04-24  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了gruntjs – 如何使用基于开发/构建上下文的Assemble包含不同的内容部分?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我已经跳到 assemble / Grunt尝试改进我为我使用的CMS创建模板的工作流程.我想弄清楚的是:是否可以在开发时(即在“grunt watch”期间)在我的模板中使用块/部分HTML内容,但是然后用我在CMS中需要的include标记替换它最终的HTML输出(即当我做“grunt build”时).像下面这样的东西?
<div id="content">
{{! if in dev context,include this partial }}
{{#if}}
  {{> body }}
{{! if in build context,include this partial }}
{{elsE}}
  {{> body-cms-tag }}
{{/if}}
</div>

如果在dev / watch模式下,将输出

<div id="content">
  <h1>Test Headline</h1>
  <p>This is just test content.</p>
</div<

但在构建模式下,会输出

<div id="content">
  <?PHP echo $mContext['bodyElements']; ?>
</div>

这是可能的,使用Handlebars语法,汇编助手或Grunt任务(类似于grunt-usemin?)

解决方法

您可以在数据或汇编选项中添加标志,并在if语句中检查该标志的值:

Gruntfile.js

assemble: {
  options: {
    production: false
  },files: { ... }
}

page.hbs

<div id="content">
{{! if in dev context,include this partial }}
{{#if production}}
  {{> body }}
{{! if in build context,include this partial }}
{{elsE}}
  {{> body-cms-tag }}
{{/if}}
</div>

目前,如果你想在一些助手或部分内部获得生产标志,这会更改上下文的级别,你将不得不使用类似../production的东西,这可能很痛苦.但是,Handlebars.js有一个版本(希望很快)的功能,它可以让你从任何级别执行@root.production.这已合并,但尚未发布.当它发布时,我们将更新到该版本.

希望这可以帮助.

大佬总结

以上是大佬教程为你收集整理的gruntjs – 如何使用基于开发/构建上下文的Assemble包含不同的内容部分?全部内容,希望文章能够帮你解决gruntjs – 如何使用基于开发/构建上下文的Assemble包含不同的内容部分?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。