gpt4 book ai didi

Express 和 node.js 中的 HTML?

转载 作者:搜寻专家 更新时间:2023-11-01 00:33:26 25 4
gpt4 key购买 nike

我不知道这是否是一个真正的菜鸟问题,但我已经看到很多关于在 node.js 和 Express 中使用 Express 的文档。但我看到的是,他们总是使用另一种称为“Jade”的语言来呈现 HTML 文件。为什么?我想知道它是否需要使用 Jade,或者我可以使用 HTML 在 Express 中呈现模板。

最佳答案

不,没有必要将 Jade 与 Express 一起使用。自 Jade 以来,它只是一个受欢迎的选项是default for generated applications由与 Express 相同的开发人员维护.

他们也倾向于彼此保持最新状态,例如添加 template inheritance in jade作为express dropped support for layouts .

但是,还有许多其他 View 引擎提供对 Express 的内置支持。而且,consolidate project可以是调解员/glue所以你有 even more options :

  • atpl
  • dust
  • eco
  • ect
  • ejs
  • haml
  • haml-coffee
  • handlebars
  • hogan
  • jade
  • jazz
  • jqtpl
  • JUST
  • liquor
  • mustache
  • QEJS
  • swig
  • templayed
  • toffee
  • underscore
  • walrus
  • whiskers

Note: I believe I misunderstood your question and answered too broadly at first. But, leaving the rest of what I wrote below in case it's still useful.

没有必要在 Express 中使用 View 引擎,但会有所帮助。

express 可以简单.send()一个值作为响应:

res.send(new Buffer('whoop'));
res.send({ some: 'json' });
res.send('some html');

但是,像 Jade 这样的 View 引擎可以帮助从 View /模板生成更复杂的、数据驱动的内容。它们还可以帮助您按意图组织项目 (separation of concerns),因为 View 通常保存在自己的文件中。

尽管如此,如果您想使用res.render(),还是需要一个 View 引擎。 .此方法取决于 'view engine' application setting或者你已经配置了一个 app.engine() .

app.set('view engine', 'jade'); // or ejs, swig, etc.

# ...

res.render('a-view'); // looks for `a-view.jade` based on `'view engine'`
app.engine('jade', require('consolidate').jade);

# ...

res.render('a-view.jade'); // matches the extension to the `.engine()`

关于Express 和 node.js 中的 HTML?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17866289/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com