我正在使用 Webpack 编写一个 React 应用程序,而不是创建 React 应用程序。 以下是示例项目文件夹结构:
data
targetData.md
src
component
Text.js
container
App.js
index.js
index.html
我正在尝试读取 Text.js
组件中 targetData.md
的内容,但它似乎不起作用,因为我得到了部署到 Github Pages 后,控制台中的请求失败,状态代码为 404
。我已经安装了 gh-pages,能够正确部署,并且一切都在渲染,除了我尝试从文件中读取的内容无法使用以下代码工作:
axios.get('https://username.github.io/data/' + filename)
.then( response => {
this.setState({
...this.state,
data: response.data
});
})
.catch(function (error) {
console.log(error);
});
渲染它:
render() {
return(
<div>
{this.state.data? (<div className={styles.content}>{this.state.data}<div/>) : null}
</div>
)
}
当我在开发模式下使用相对路径时它可以工作,但是当我将它部署到 GitHub 页面时,我注意到没有找到 404,所以我想如果我输入域 URL 它应该可以工作,但事实并非如此。 axios.get(????)
中的路径名应该是什么,才能在部署到 GitHub 页面后正常工作?
最佳答案
GitHub 在其 View 中显示文件。如果您想检索内容,则需要该文件的原始版本。
- 访问您的 GitHub 存储库并导航至
targetData.md
。 - 在右侧您会看到一个按钮Raw。
- 点击它,就会显示文件的内容。
- 在
axios.get()
调用中使用该链接。
网址将包含原始单词,看起来像这样
https://raw.githubusercontent.com/[您的用户名]/[您的应用程序]/gh-pages/data/targetData.md
。
关于javascript - 部署到 github 页面后,Axios 从文件中获取数据不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51544117/