如何使用 brunch 将翡翠模板渲染成 HTML

Posted

技术标签:

【中文标题】如何使用 brunch 将翡翠模板渲染成 HTML【英文标题】:How to render jade templates into HTML using brunch 【发布时间】:2016-03-17 20:47:24 【问题描述】:

尝试在我的新项目中使用早午餐。我想做的一件事是能够将我所有的 html 资产写成 Jade,并在构建过程中让 brunch 将其渲染成 HTML。我找到了疲惫的早午餐,但我似乎无法弄清楚如何让它做我想做的事。这是我的配置。

出口.config = 路径: 观看:['客户'] npm: 启用:真 包:['反应'] 插件: 厌倦: 玉: 漂亮:是的 文件: javascript: 加入: 'js/app.js': /^app/ 'js/vendor.js': /^(?!app)/ 样式表: 加入:'css/app.css' 模板: 加入:'index.html'

【问题讨论】:

【参考方案1】:

这是一个老问题,但 Brunch 已经更新,可以更优雅地处理静态资产编译。

official jade-brunch package 无需额外配置即可处理业务。

将您的 .jade 文件放在您的 app/assets 目录(或您将静态 basedir 设置到的任何位置)中,会将翡翠文件编译为静态 HTML。

如果您正在使用包含/扩展,并且您不希望在 public 目录中有一堆部分 HTML 文件,则使用前面的下划线命名它们会告诉 Brunch 忽略这些文件。如果您的app 目录如下所示:

app
  | assets
  |  | index.jade
  |  | partials
  |  |   | _header.jade

...而您的index.jade 包括_header

include partials/_header

您的public 目录将如下所示:

public
  | index.html

效果很好。

【讨论】:

【参考方案2】:

根据jaded-brunch documentation,您可以通过使用.static.jade 文件扩展名将它们全部命名,或设置staticPatterns 选项来告诉它将jade 文件编译为静态html 输出,例如:

plugins:
    jaded:
        staticPatterns: /\.jade$/
        jade:
            pretty: yes

【讨论】:

不起作用。我得到这个“'client/index.static.jade'已编译,但没有写入。检查你的templates.joinTo config”并且没有文件出现在公共场合。 @MadWombat 尝试删除templates.joinTo

以上是关于如何使用 brunch 将翡翠模板渲染成 HTML的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 Brunch 编写多文件 NPM 包

可以在玉模板中使用角度吗?

将模板渲染成字符串?

Django 渲染模板路径配置变量使用。

Angular项目间的模板共享:如何跨多项目重用公共HTML

Python大神教你300行代码搞定HTML模板渲染「附源码」