构建同构 JavaScript 应用:客户端路由、控制器响应与抽象功能实现
1. 客户端路由基础
在终端执行 gulp 命令,然后在浏览器中打开 http://localhost:8000 ,你会看到带有链接的新页面。点击这些链接,浏览器地址栏会更新,控制台也会显示相应的日志信息。使用浏览器的前进和后退历史控制时,也会有相同的行为。这表明我们已经成功地与浏览器历史进行了交互。
从表面上看,利用 History API 的这些存根似乎很简单,但它们将成为我们应用程序的资源请求接口,就像服务器上的 HTTP GET 请求一样。服务器和客户端实现的共同因素是 URL ,它就像函数的签名,用于在路由表中匹配路由。在服务器端,路由表是 hapi 的一部分;在客户端,我们不能运行 hapi ,但应该使用相同的路由器,以便使用相同的算法进行路由匹配和应用。
2. 客户端路由实现
当你在前面的步骤中点击链接并通过浏览器历史进行导航时,可能会注意到页面上的问候消息并没有随着路径参数的变化而更新。这是因为我们没有执行控制器操作并渲染响应。为了实现这一点,我们需要一个使用与 hapi 相同路由匹配算法的客户端路由器。幸运的是, hapi 已经将其 HTTP 路由器模块化,即 call ,并且由于 Browserify 旨在在
超级会员免费看
订阅专栏 解锁全文
7

被折叠的 条评论
为什么被折叠?



