在 Hapi 中如何实现 CORS

阅读时长 4 分钟读完

什么是 CORS

CORS(Cross-Origin Resource Sharing)翻译过来就是跨域资源共享,它是浏览器用来限制跨域访问资源的一种安全策略,是基于 HTTP 头信息来实现的。当客户端使用 AJAX 等技术与不同域名的服务器进行数据通信时,浏览器会发出 CORS 请求。如果服务器端没有开放相关的响应头,那么浏览器就会报出一个跨域错误,导致请求失败。

实现 CORS

在 Hapi 中实现 CORS,需要用到内置插件hapi-cors-headers

安装插件

在你的项目中,安装 hapi-cors-headers 用来实现我们的跨域功能:

注册插件

打开你的项目,找到你的入口文件,一般是 app.jsindex.jsserver.js。在它里面注册插件:

-- -------------------- ---- -------
----- ---- - ----------------------
----- ----------- - -----------------------------

----- ---- - ----- -- -- -
  ----- ------ - -------------
    ----- -----
    ----- -----------
  ---

  ----- -----------------
    ------- ------------
    -------- -
      -------- ------ -- ------
      -------- ------- ---- ---------- -- ----- ---- ----
      -------- -
        ---------
        ---------------
        ---------------
      - -- -----------
    -
  ---

  ----- ---------------
  ------------------- ------- -- ---- -----------------
--

-------------------------------- ----- -- -
  -----------------
  ----------------
---

-------

在上面的代码中,我们初始化了一个 Hapi 服务器,然后通过server.rigister方法将 hapi-cors-headers 作为插件注册到服务器中,实现了跨域功能。

示例代码

上面讲了如何在 Hapi 中实现 CORS,下面给出一份示例代码,供各位读者参考。

-- -------------------- ---- -------
----- ---- - ----------------------
----- ----------- - -----------------------------

----- ---- - ----- -- -- -
  ----- ------ - -------------
    ----- -----
    ----- -----------
  ---

  ----- -----------------
    ------- ------------
    -------- -
      -------- ------
      -------- ------- ---- ----------
      -------- -
        ---------
        ---------------
        ---------------
      -
    -
  ---

  --------------
    ------- ------
    ----- ---------
    -------- --------- -- -- -
      ------ ------- --------
    -
  ---

  ----- --------------
    ----- ---------------- -- -----
    ----- -----------
  ---
  ------------------- ------- -- ---- -----------------
--

-------------------------------- ----- -- -
  -----------------
  ----------------
---

-------

总结

以上就是在 Hapi 中实现 CORS 的全部过程。通过上面的学习,相信大家对跨域的概念应该有了很清晰的了解,可以在实际项目中灵活运用。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/64cd9b2b1519ea946c168edb

纠错
反馈