Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/434.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何从本地文件url(“文件://”)访问react应用程序生成,而不使用任何HTTP服务器?_Javascript_Reactjs_React Router_Single Page Application - Fatal编程技术网

Javascript 如何从本地文件url(“文件://”)访问react应用程序生成,而不使用任何HTTP服务器?

Javascript 如何从本地文件url(“文件://”)访问react应用程序生成,而不使用任何HTTP服务器?,javascript,reactjs,react-router,single-page-application,Javascript,Reactjs,React Router,Single Page Application,我的要求是,我必须通过如下方式加载本地文件URL来使用react SPA file:///C:/react/build/index.html 不使用任何HTTP服务器 在这个场景中,它正确地使用HTTP服务器, 但在本地文件URL访问的情况下,只有初始组件工作正常,但路由不工作 它在chrome中给出了以下类型的错误- 未捕获的DomeException:未能对“历史记录”执行“pushState”:A URL为“”的历史状态对象file:///C:/react/build/Aboutus“不

我的要求是,我必须通过如下方式加载本地文件URL来使用react SPA

file:///C:/react/build/index.html
不使用任何HTTP服务器

在这个场景中,它正确地使用HTTP服务器, 但在本地文件URL访问的情况下,只有初始组件工作正常,但路由不工作

它在chrome中给出了以下类型的错误-

未捕获的DomeException:未能对“历史记录”执行“pushState”:A URL为“”的历史状态对象file:///C:/react/build/Aboutus“不行 将在源代码为“null”且URL为的文档中创建 'file:///C:/react/build/index.html"

在firefox中-

SecurityError:操作不安全。1.d30e17d6.chunk.js:1推送/ 请建议我一些解决方案或给我一些示例代码。请不要建议使用任何HTTP服务器方法,因为在这种情况下,我必须在不使用任何HTTP服务器的情况下进行操作


我正在对react router v4使用create react app方法

此问题可以使用或替代{BrowserRouter}解决

然后您可以从本地文件协议访问SPAfile:///xyz/index.html,并且您的路由器链接将与react router for local file URL配合使用

 - import { BrowserRouter as Router} from "react-router-dom"; //remove this line
 + import { HashRouter as Router} from "react-router-dom"; //try this line

or
--
+ import { MemoryRouter as Router} from "react-router-dom"; //try this line
还将以下行添加到package.json中,以进行相对链接

"homepage": ".",

这个问题可以用或代替{BrowserRouter}来解决

然后您可以从本地文件协议访问SPAfile:///xyz/index.html,并且您的路由器链接将与react router for local file URL配合使用

 - import { BrowserRouter as Router} from "react-router-dom"; //remove this line
 + import { HashRouter as Router} from "react-router-dom"; //try this line

or
--
+ import { MemoryRouter as Router} from "react-router-dom"; //try this line
还将以下行添加到package.json中,以进行相对链接

"homepage": ".",

我有一个非常类似的问题,并使用了使它工作,因为它实际上没有改变url。此外,我还将绝对路由更改为相对路由,将package.json配置为homepage:,react不正式支持它。我遇到了一个非常类似的问题,并使用了,因为它实际上没有更改url。此外,我还将绝对路由更改为相对路由,使用homepage:,配置package.json,react不正式支持该路由

@Praveen Kumar contrushothaman,您链接的副本实际上不是该问题的副本。这个问题的标题不完整。@nbokmans我读了完整的问题,然后发现这是一个很好的匹配。你为什么这么认为?@PraveenKumarPurushothaman你建议的答案不是我想要的。正如我已经说过的,初始组件加载良好,但它给出了上述错误,以便在我的应用程序中使用react router进行后续路由。因此,请建议我一个解决方案或删除重复flag@Smaranjit啊,我想从其他答案中可以明显看出。React路由器在文件协议上不工作。请看:.@PraveenKumarPurushothaman感谢您的回复,实际上在访问您的链接后,我尝试了那里提供的几种解决方案,现在它适用于我的具体情况。我也发布了答案。@Praveen Kumar追踪哈曼,你链接的副本实际上不是这个问题的副本。这个问题的标题不完整。@nbokmans我读了完整的问题,然后发现这是一个很好的匹配。你为什么这么认为?@PraveenKumarPurushothaman你建议的答案不是我想要的。正如我已经说过的,初始组件加载良好,但它给出了上述错误,以便在我的应用程序中使用react router进行后续路由。因此,请建议我一个解决方案或删除重复flag@Smaranjit啊,我想从其他答案中可以明显看出。React路由器在文件协议上不工作。请看:.@PraveenKumarPurushothaman感谢您的回复,实际上在访问您的链接后,我尝试了那里提供的几种解决方案,现在它适用于我的具体情况。我还发布了解决方案作为答案。