【问题标题】:Javascript Single Page MVC from scratch从零开始的 Javascript 单页 MVC
【发布时间】:2013-05-23 15:27:49
【问题描述】:

我只是想知道使用javascript而不使用像ember js / angular js这样的框架来创建单页网站的技术是什么。

比如在php中就可以搞定

example.com?view=homepage

可以轻松获取视图和加载/显示主页以及加载主页的内容。

如果想在javascript中加载另一个页面/内容怎么办?构建它的任何技术?

我只是用一个简单的函数来构建,比如

$("#otherpage").hide();
$("#homepage").show();

我不知道用这种方式开发一个javascript单网站页面是不是最好的方法?或者你们都可以建议的任何技术,因为我需要从基础学习,需要使用javascript来探索和创建一个应用程序没有 php 的页面。

非常感谢

【问题讨论】:

    标签: javascript model-view-controller single-page-application


    【解决方案1】:

    如果就这么简单,您真的认为 Ember、Spine 和 Angular 会被广泛使用吗?

    撇开尖刻的评论不谈,构建一个像你所做的那样刷新的页面,虽然简单且容易修改,但在很多事情上都做得很差:

    • 对于超过几页的网站,您的 HTML 标记将变为 MASSIVE。不仅如此,您还必须在每一页上运行每一段代码……每一页。向疯狂的开销打个招呼,无论是带宽还是服务器端处理,即使是缓存也是如此。
    • 如果您想动态更新页面的一部分,无论如何您都需要使用 AJAX。为什么从一开始就使用 MVC 方法编写东西,在使用 AJAX 时渲染数据,而不是粗暴地输入整个 DOM 会很糟糕?
    • Angular 有什么问题,无论如何?广泛使用、无错误、经过单元测试、由可靠的人构建,如果确实存在错误,您可以确信社区会比您更快地修复它

    如果最后一条评论没有阻止您构建自己的平台来替换已经存在的平台,我强烈建议您构建您的 JS 以从您的服务器获取数据(JSON 或其他方式)并动态更新页面.您可能不想要成熟的 MVC 方法,但至少需要其中的 MV 部分。这也将允许模块化。

    【讨论】:

    • 他说了什么(笑)。如果您不想使用众所周知的框架,您仍然需要自己构建一个。您需要构建一个 javascript 控制器来处理对新页面的请求,然后在提供视图(HTML 标记)时运行 javascript(模型)来填充您从其他地方检索到的数据。但是,如果您只是为静态网站提供服务,那么 AJAX 中的那些页面 - MVC 确实不适用于那里......
    • @MichaelCoxon:+1。看起来 OP 只是想使用自定义框架“使用自定义框架”。
    • @SébastienRenauld ,是的,我大致需要一个用于单页网络/应用程序的自定义框架,需要知道人们使用了什么技术,但是 MVC 真正适用于骨干/余烬/角度/脊椎?它是用于单页网页/应用程序的非常重的内容吗?
    • @Mavichow:它旨在实现代码的可重用性和可维护性。应用程序的大小只是一个变量,因为您的代码库越大,使用它节省的时间就越多。
    • @Mavichow:有点晚了... MVC 就是关注点分离。您构建的数据对象为从各种来源提取的数据提供接口。控制器是页面的真正“大脑”。严格处理渲染的视图。这样,您就知道所有内容在哪里,几乎没有重复,每个单元只处理自己和自己(+ 与其他单元的松散耦合。关键字:松散)。
    猜你喜欢
    • 1970-01-01
    • 2023-03-15
    • 2010-12-05
    • 1970-01-01
    • 1970-01-01
    • 2011-07-04
    • 2023-03-07
    • 2014-07-12
    • 2010-10-22
    相关资源
    最近更新 更多