什么是 CORS
CORS(Cross-Origin Resource Sharing)翻译过来就是跨域资源共享,它是浏览器用来限制跨域访问资源的一种安全策略,是基于 HTTP 头信息来实现的。当客户端使用 AJAX 等技术与不同域名的服务器进行数据通信时,浏览器会发出 CORS 请求。如果服务器端没有开放相关的响应头,那么浏览器就会报出一个跨域错误,导致请求失败。
实现 CORS
在 Hapi 中实现 CORS,需要用到内置插件hapi-cors-headers
。
安装插件
在你的项目中,安装 hapi-cors-headers
用来实现我们的跨域功能:
npm install --save hapi-cors-headers
注册插件
打开你的项目,找到你的入口文件,一般是 app.js
、index.js
或 server.js
。在它里面注册插件:
-- -------------------- ---- ------- ----- ---- - ---------------------- ----- ----------- - ----------------------------- ----- ---- - ----- -- -- - ----- ------ - ------------- ----- ----- ----- ----------- --- ----- ----------------- ------- ------------ -------- - -------- ------ -- ------ -------- ------- ---- ---------- -- ----- ---- ---- -------- - --------- --------------- --------------- - -- ----------- - --- ----- --------------- ------------------- ------- -- ---- ----------------- -- -------------------------------- ----- -- - ----------------- ---------------- --- -------
在上面的代码中,我们初始化了一个 Hapi 服务器,然后通过server.rigister
方法将 hapi-cors-headers
作为插件注册到服务器中,实现了跨域功能。
示例代码
上面讲了如何在 Hapi 中实现 CORS,下面给出一份示例代码,供各位读者参考。
-- -------------------- ---- ------- ----- ---- - ---------------------- ----- ----------- - ----------------------------- ----- ---- - ----- -- -- - ----- ------ - ------------- ----- ----- ----- ----------- --- ----- ----------------- ------- ------------ -------- - -------- ------ -------- ------- ---- ---------- -------- - --------- --------------- --------------- - - --- -------------- ------- ------ ----- --------- -------- --------- -- -- - ------ ------- -------- - --- ----- -------------- ----- ---------------- -- ----- ----- ----------- --- ------------------- ------- -- ---- ----------------- -- -------------------------------- ----- -- - ----------------- ---------------- --- -------
总结
以上就是在 Hapi 中实现 CORS 的全部过程。通过上面的学习,相信大家对跨域的概念应该有了很清晰的了解,可以在实际项目中灵活运用。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/64cd9b2b1519ea946c168edb