DENO部署是免费在云上托管DENO项目的绝佳服务。不幸的是,它不适用于ETA模板语言。
这样做的原因是ETA使用deno.Steists函数,该功能已折旧并在DENO部署服务上删除。
在自己寻找解决方案但没有找到任何解决方案之后,我决定尝试提出自己的修复程序,该修复程序已发布在Eta Github页面上。
https://github.com/eta-dev/eta/issues/172
这是一个临时修复程序,可让您至少在DeNo部署上使用模板:)
Eta.config.includeFile = function(path, data) {
return Eta.templates.get(path)(data, Eta.config);
};
I would then write something like this:
Eta.templates.define("main", Eta.compile(
await Deno.readTextFile(`${Deno.cwd()}/views/main.eta`)));
const template = await Eta.render(await Deno.readTextFile(`${Deno.cwd()}/views/home.eta`), {
title: "My webpage"
});
And this in the templates:
// home.eta
<% layout("main") %>
<h1>Welcome to my home page<h1>
// main.eta
<!DOCTYPE html>
<html lang="en">
<head>
<title><%= it.title %></title>
</head>
<body>
<%~ it.body %>
</body>
</html>