expressjs中的Marko抛出的不是函数错误



嗨,我在我的机器上运行了这个例子,它说markoExpress()不是一个函数。有什么想法吗?这是来自的示例https://markojs.com/docs/express/

require("@marko/compiler/register"); // Allow Node.js to require and load `.marko` files
var express = require("express");
var markoExpress = require("@marko/express");
var template = require("./template");
var app = express();
app.use(markoExpress()); //enable res.marko(template, data)
app.get("/", function (req, res) {
res.marko(template, {
name: "Frank",
count: 30,
colors: ["red", "green", "blue"]
});
});
app.listen(8080);

问题是@marko/express是作为es模块编写的,它的commonjs导出公开了.default属性。

如果从commonjs消费,您必须执行以下操作:

const markoExpress = require('@marko/express').default;

最新更新