【问题标题】:express-handlebars throwing type error in TypeScript快速车把在 TypeScript 中引发类型错误
【发布时间】:2021-12-27 23:09:48
【问题描述】:
import express from 'express';
import { engine } from 'express-handlebars';
const app = express();
app.engine("hbs", engine()) // This line trows an error:

我有以下依赖项:

"dependencies": {
  "express": "^4.17.1",
  "express-handlebars": "^6.0.1",
  "morgan": "^1.10.0",
  "@types/express": "^4.17.13",
  "@types/node": "^16.11.7",
  "typescript": "^4.4.4",
  "ts-node": "^10.4.0"
}

我尝试四处寻找,但使用 TypeScript 找不到任何相关信息。

希望有人可以提供帮助;并提前感谢!

【问题讨论】:

  • 您的代码在打字稿游乐场中没有类型错误:tsplay.dev/mZbGam
  • 它在模块 JS 中工作,但在使用 ts-node 或 nodemon 时无法运行,并引发相同的错误。我现在会使用 JS,但我会留下这个问题,因为我无法使用 TS 找到这方面的任何资源。

标签: typescript express types handlebars.js ts-node


【解决方案1】:

正如快递文档中所说:

一些模板引擎不遵循这个约定, Consolidate.js 库的创建是为了映射所有节点的流行 模板引擎遵循这个约定,从而允许它们工作 在 Express 中无缝衔接。

这里说的是Consolidate、Express 和 TypeScript 的示例:

import express from "express";
import cons from "consolidate";

const app = express();
app.engine("html", cons.handlebars);
app.set("view engine", "html");
app.set("views", __dirname + "/views");

【讨论】:

  • 谢谢,成功了!
猜你喜欢
  • 1970-01-01
  • 2022-01-07
  • 2018-06-07
  • 2020-01-16
  • 1970-01-01
  • 2014-12-19
  • 2018-06-21
  • 2021-03-16
  • 2017-12-07
相关资源
最近更新 更多