让ETA与DENO部署一起工作
#javascript #网络开发人员 #deno #eta

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>