使用文件协议访问本地反应路由器路由?

时间:2019-10-27 21:52:18

标签: reactjs react-router electron

我正在使用React和Electron构建一个应用程序,并使用React Router Dom进行导航(我正在使用HashRouter,因为它将不在生产服务器中)。我正在尝试打开一个新的电子窗口并显示其中包含React的页面,但是我无法弄清楚如何使用文件协议访问React Router路由,因为每个页面都没有自己的html文件。有人知道我可以使用文件协议访问该路由吗?

我的主页通过以下方式加载到应用中,该方式适用于“ /”路线:

mainWin.loadURL(
    isDev
        ? 'http://localhost:3000'
        : `file://${path.join(__dirname, '../build/index.html')}`
)

我正在尝试将页面加载到第二个应该使用“ / settings”路由的窗口中。

settingsWin.loadURL(
    isDev
        ? 'http://localhost:3000/settings'
        : `file://${path.join(__dirname, '../build/index.html/settings')}`
)

这是我尝试使用的路径,但是没有一个加载页面:

`file://${path.join(__dirname, '../build/index.html:settings')}`
`file://${path.join(__dirname, '../build/settings')}`
`file://${path.join(__dirname, '../build/index.html/settings')}`

1 个答案:

答案 0 :(得分:0)

本地访问React Router路由的方法是在index.html路径的末尾添加“#/ [page-name]”,因为HashRouter会查看URL哈希(URL片段)。所以现在我的代码如下:

`file://${path.join(__dirname, '../build/index.html#/settings')}`