Javascript Node JS-使用路由器添加更多页面(ejs模板)
我是Node/EJS新手。因此,您需要澄清创建新路线的问题。我可以使用NodeJS中的EJS模板系统轻松地集成静态html文件。但是,我无法在正文部分内部实现路由(使用路由插入另一个模板) 我的代码:views/index.ejsJavascript Node JS-使用路由器添加更多页面(ejs模板),javascript,node.js,ejs,Javascript,Node.js,Ejs,我是Node/EJS新手。因此,您需要澄清创建新路线的问题。我可以使用NodeJS中的EJS模板系统轻松地集成静态html文件。但是,我无法在正文部分内部实现路由(使用路由插入另一个模板) 我的代码:views/index.ejs <!DOCTYPE html> <html lang="en"> <head> <% include ./templates/head.ejs %> </head> <body cla
<!DOCTYPE html>
<html lang="en">
<head>
<% include ./templates/head.ejs %>
</head>
<body class="skin-blue">
<div class="wrapper">
<% include ./templates/header.ejs %>
<section class="content">
<div class="content-section container">
<div class="row">
<% include ./contents/aboutus.ejs %> //aboutus page is rendering
</div>
</div>
</section>
<% include ./templates/footer.ejs %>
</div>
<% include ./contents/help-popup.ejs %>
<% include ./templates/jsfiles.ejs %>
</body>
</html>
//aboutus页面正在渲染
在这里,aboutus.ejs显然在身体内部正常工作。现在我想通过点击aboutus.ejs中的链接来调用careers.ejs。页眉和页脚不应更改。如何通过路由添加和呈现careers.ejs?我想您期待像JADE这样的布局系统。这可以通过npm包EJS局部实现。在其中,您可以将HTML的主体部分指定给ejs文件,而不是调用ejs文件 例句:样板
<!DOCTYPE html>
<html>
<head>
<title>It's <%=who%></title>
<%-scripts%>
<%-stylesheets%>
</head>
<body>
<header>
<%-blocks.header%>
</header>
<section>
<%-body -%>
</section>
<footer>
<%-blocks.footer%>
</footer>
</body>
</html>
它是
aboutus.ejs:
<% layout('boilerplate') -%>
<% script('foo.js') -%>
<% stylesheet('foo.css') -%>
<h1>I am the <%=what%> list </h1>
<% block('header', "<p>I'm in the header.</p>") -%>
<% block('footer', "<p>I'm in the footer.</p>") -%>
我在名单上
career.ejs:
<% layout('boilerplate') -%>
<% script('foo.js') -%>
<% stylesheet('foo.css') -%>
<h1>I am <%=what%> Programmer in USA </h1>
<% block('header', "<p>I'm in the header.</p>") -%>
<% block('footer', "<p>I'm in the footer.</p>") -%>
我是美国的程序员
因此,在这里,您可以使用EJS局部变量包含其他模板。您的问题是,如何使用EJS呈现页面的特定部分,例如,仅显示内容?@rmjoia是的,如SPA..据我所知。你不能。ejs不支持布局,至少在express 4中是这样。我也一直在寻找…哦,好的@rmjoia。。有没有像ejs这样的模板系统(应该支持布局)?我不喜欢jade.我对这方面也很陌生,但我会尽量了解这些信息并让你知道。我只知道ejs页面上有一些关于Ajax渲染的信息。但我从来没用过