处理没有服务器的动态路由

时间:2016-03-30 15:02:30

标签: javascript html angularjs

是否可以在没有后端服务器的情况下提供动态html页面,或者不使用像Angular这样的前端框架?

修改

为了澄清,索引文件是从后端提供的。这个问题是关于如何处理索引和动态页面之间的路由。

我有一个由两个文件组成的应用程序 - index.html和dynamic.html。当用户单击选项“选项A”时,它们将被提供给dynamic.html,并且网址将更新为/ option-a。现在,使用服务器这没有问题,假设用户从登录页面访问应用程序,这也不是问题,因为可以设置cookie。但是,假设用户访问my-domain / option-a的页面。该路由不存在,并且没有服务器可以重定向,因此它将为404.他们必须访问dynamic.html。

我认为这种架构要求有一个服务器来处理路由重定向或SPA框架。

我有什么遗失的吗?

2 个答案:

答案 0 :(得分:0)

只有在加载HTML页面后,您的SPA框架才会处于活动状态,为此,您需要将用户为您的域尝试的任何网址重定向到该HTML文件。为此你显然需要一台服务器(因为你在谈论my-domain/option-a 我认为你至少有一个基本的服务器)。您可以参考此链接以了解服务器如何将URL重定向到特定的html文件:Nodejs - Redirect url

加载HTML后,您可以初始化SPA框架并根据URL决定要加载的模板。

注意:如果没有服务器,您将使用file://somepath/index.html访问网址,除此网址之外的任何内容都将生成404,而SPA框架无法处理该网址。

答案 1 :(得分:0)

我认为解决方案是使用静态网站生成器,如Jekyll或Middleman,并允许您将信息转换为静态页面。这样你在功能上构建了一堆页面,但它们都是提前编译的。您可以添加从yaml文件加载的动态内容,它会将内容编译为单独的html页面。