【问题标题】:Web Development : How and When to create HTML files [closed]Web 开发:如何以及何时创建 HTML 文件 [关闭]
【发布时间】:2015-09-10 22:54:38
【问题描述】:

我是 Web 开发的新手,对于何时应该创建 HTML 文件而不是简单地使用 HTML 模板文件来使用 AJAX 将所有信息加载到其中,我感到有些困惑。以及一个比另一个更好的原因。

我的网站类似于 Facebook 群组的运作方式。每当创建新组时,Facebook 组似乎都会创建一个新的 HTML 文件。但既然所有这些组在大多数情况下都具有相同的布局和格式,为什么我们不能简单地拥有一个 HTML 模板并将该特定组的信息加载到页面上。

谁能给我解释一下,哪种方法更好,在什么条件下?我确定答案是视情况而定。

如果我要在每次创建组时创建一个 HTML 文件,我会怎么做?基于这个问题,似乎创建了一个新的 HTML 文件。然后我们应该在服务器端创建 HTML 文件:Create HTML file with JavaScript

过去几个小时我一直在寻找,但找不到任何答案。请朝着正确的方向前进。谢谢!

【问题讨论】:

  • 你需要了解一下服务端代码。这些不是实际的 HTML 文件。

标签: javascript html ajax web-development-server


【解决方案1】:

“创建 html 文件”是服务器端引擎完成的任务。 “将值插入 HTML”以保持类似的布局是模板引擎所做的,这听起来像是您想要做的。页面上的“AJAX”更新通常是在您定义它们的上下文中更简单的更新“单个,或几个元素更新或值插入。这些通常发生在页面内的事件或文档事件上,例如'当文档准备好时'然后执行此操作(jQuery)。”

每个过程在许多方面都存在差异。例如,AJAX 可能会受到 CORS 的限制,有时您必须在服务器中配置跨站点脚本。 AJAX 最适合在同一个 Web 应用程序中使用,通常用于应用程序的前端或“浏览器端代码”。

模板引擎通常用在服务器端,除了一些引擎,比如 Angular,它使用一种“模板功能”过程和一些后端和前端代码来提供全方位的解决方案。 (Angular 1.0 是一个非常广泛使用的框架,它与 jQuery 配合得很好,它允许在您的页面中使用简单得多的 AJAX,以及动态更新和事件操作)

最后,我使用了 CMS(内容管理系统)来预渲染您的页面和所有必需的资产,例如数据库调用。 CMS 将获取一组文件和数据并将它们作为不同的页面发送到客户端(浏览器),但如果您管理自己的 CMS,则这些通常在后端进行映射和定义,如果您的 CMS 在仪表板中定义就像 wordpress。

总而言之,没有一种“更好”的方法。该问题在全球范围内与您的资产、目标、当前能力、环境、最终产品和最终用户相关。通常,一个最终可销售的直接网络应用程序使用类似 MEAN 堆栈的东西,它为您提供 M - MongoDB(您的数据库) E - Express(您的页面服务器,可能是您的中间件) A - Angular(您的路由/模板/等) N - NodeJS(你的终端喜欢访问文件系统和 http 协议) MEAN 堆栈的好处是它完全是 JavaScript,因此同时学习所有 4 个特定组件比单独学习要容易得多。

我希望这会有所帮助,尽量不要在堆栈溢出时问这样的初学者问题,但是因为你会在这样的一般指导问题上收到很多反对票。有关 MEAN 堆栈的更多信息,请访问 (http://mean.io/#!/) 我认为您将在那里学到的内容将真正为您创建目标最终产品提供帮助。

【讨论】:

  • 谢谢迈克!这正是我一直在寻找的。我只是不明白基本概念。
  • NP,我建议您阅读“expressJS”文档。 (expressjs.com) 一旦您对使用基础知识感到满意,我会特别阅读“路由”部分 (expressjs.com/guide/routing.html),这将帮助您更好地理解路由和模板,也许何时以及为什么它们是必要的. Express 是一个优秀的、支持良好的、编写良好的框架,可以帮助您更好地理解所有方面。在 node/express 中开发的另一个有用工具是“nodemon”(nodemon.io
【解决方案2】:

基本上,IS 发生的事情是他们可能 正在使用 HTML 模板。

但是,数据正在服务器端进行插值(阅读Template Engine)。这允许动态页面的粗略骨架,可以在客户端使用客户端脚本语言(例如:JavaScript)进一步定制。

谈论哪种方法更好(服务器端渲染与客户端渲染)-阅读this question on programmer exchange

【讨论】:

    猜你喜欢
    • 2015-09-18
    • 1970-01-01
    • 2019-03-29
    • 2014-04-23
    • 1970-01-01
    • 2012-12-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多