繁体   English   中英

在本地运行 html 文件时需要使用 axios 的想法(例如浏览器中的 file:// 路径)

[英]Need ideas for using axios when running html file locally (e.g. file:// path in browser)

目标是拥有一个可以直接打开的 .html 文件(例如在 Chrome 浏览器中作为 file://path-to-file.../file.html 运行)。

它们是一个 /user-json 文件夹,用户可以在其中放入自己的 .json 文件,然后 .html 文件加载 json 数据。

我目前正在使用 axios 来 a) 找到该 /user-json 目录中的所有文件,然后 b) 将它们加载到 javascript 中使用。

问题是 CORS/浏览器由于安全策略阻止了这些 axios 请求。

一种解决方法是使用 --allow-file-access-from-files,但我想为任何人提供一种简单的方法,将他们自己的“user-json”数据放入该 /user-json 文件夹中,并且让 .html 检测并加载它,而无需使用他们的 chrome 浏览器设置,甚至不需要运行网络服务器。

任何想法让这个工作或替代方法? 请不要建议在服务器上运行文件,因为我没有那个选项 - 我正在寻找一种方法,用户可以提供自己的文件,本地打开的 .html 文件可以检测和加载。

有很多方法可以解决这个问题。 这主要是选择你最喜欢的抽象的问题。

最简单的方法是利用CORS Anywhere 之类的服务。 虽然这当然不是最健壮的解决方案,如果您关心代码的美感,它可能不会吸引人(注意:有一个NPM 包)。

或者,如果您想托管自己的解决方案,您可以启动一个免费实例,例如Cloudflare Worker 他们甚至有一个例子来说明如何在这里完成你所追求的事情

也可以通过 nginx 传递您的请求,而且可以说更加简洁和高效。

不管你怎么做,你都必须通过某种代理来路由你的请求,因为普通的 Chrome 浏览器不会削减它。

一路顺风。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM