【发布时间】:2021-03-06 22:12:27
【问题描述】:
我目前正在构建一个项目,它是一个调查创建者。我使用纯 Node.js 在后端创建了一个 Rest API,并且还在前端工作。 显然,渲染页面需要根据用户是否登录,当前的调查等来渲染。通常我使用 Express.js 并集成像 Pug 这样的模板引擎。然而,这个项目被设计成尽可能少的依赖,所以没有模板引擎。相反,当用户发送请求时,我只是将“静态”HTML 文件发送到客户端。然后,在前端,我使用模板字符串来“填写”HTML,如下所示:
document.querySelector('cta').insertAdjacentHTML('beforeend', `<div class="login" style=${isLoggedIn? "display: none;" : ""}`); // etc.
这让我想知道我是否真的在构建一个动态网站。从技术上讲,我正在“动态”生成 HTML?
但Wikipedia definition 和 Udemy 课程似乎有相互冲突的消息,两者似乎都说动态网站是在服务器端生成的,如下所示:
When user hits request:
Backend builds template --> compiled to html --> file served to user
我的做法是这样的:
Html file served --> JavaScript generates html
术语在这里非常重要 - 我的网站是动态的还是静态的?
【问题讨论】:
-
您正在使用 JS 获取动态数据。这有点像单页应用程序。对此也有特殊的框架和库,例如 react、vue、angular。像你的例子一样的 VanillaJS 也很好,但是代码很聪明,否则你会慢慢变慢