我正在重新设计我的上个世纪的应用程序(这很好用,请注意),并且开始新鲜的机会让我调查了几个方面。这个问题是关于现代HTML5历史记录功能以及没有它的架构。
让我说我有以下URI结构bloggish应用程序嵌入gewgaws
http://example.com --> alias for /latest
http://example.com/latest --> alias for /Resource2
http://example.com/Resource1
http://example.com/Resource2
http://example.com/Resource2#chart
http://example.com/Resource2#chart?a=life's-answer&b=42
http://example.com/about
我希望屏幕上可以看到的每个资源或方面都可以通过URI访问。例如," about"文本被加载到基本模板中(想象handlebarsjs
),并在用户点击" about"时显示一个小弹出窗口。链接。但是,如果用户也应该能够在浏览器中直接加载文本时看到相同的文本,例如,如果http://example.com/about
已通过电子邮件发送给某人并且该人点击了该文本。
与http://example.com/Resource2#chart?a=life's-answer&b=42
相同,可能会显示嵌入在" Resource2"中的可自定义图表的特定视图。使用a
中的b
和query_string
值。
这意味着要么我应该有一种机制,无论请求什么资源,首先加载空模板,然后进行Ajax调用以检索所请求的资源,甚至是自定义状态。然后我应该使用历史API的魔力来更改URI。
或者,如果直接请求,我应该拥有每个资源的静态服务器版本。事实上,我应该有一个服务器版本的每个资源,以防一些luddite想要使用没有JavaScript的应用程序。
两个问题 -
对于如何处理上述问题,是否有一些一般性建议? 是否有任何一个(或两个)JavaScript MV *框架比其他框架更好地完成上述工作?
PS:尽管我很喜欢meterojs
想要实现的想法,但我现在还没准备好把我的马车挂到nodejs
。我需要在服务器端做很多事情,更好地服务于更传统的东西,这种语言已经存在很长时间以便拥有完整的生态系统。