javascript - 部署到 github 页面后,Axios 从文件中获取数据不起作用

标签 javascript reactjs axios

我正在使用 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 中显示文件。如果您想检索内容,则需要该文件的原始版本。

  1. 访问您的 GitHub 存储库并导航至 targetData.md
  2. 在右侧您会看到一个按钮Raw
  3. 点击它,就会显示文件的内容。
  4. axios.get() 调用中使用该链接。

Screenshot of a GitHub repo

网址将包含原始单词,看起来像这样
https://raw.githubusercontent.com/[您的用户名]/[您的应用程序]/gh-pages/data/targetData.md

关于javascript - 部署到 github 页面后,Axios 从文件中获取数据不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51544117/

相关文章:

ios - React Native 和美国导出法规

javascript - 设置宽度 : 0 is not hiding the text

javascript - 如何将 firebase 查询重构为特定的 thenable 函数

javascript - JIC - Java 图像压缩器 : Failed to execute 'drawImage' on 'CanvasRenderingContext2D' : No function was found that matched the signature

javascript - 无法从 Redux 存储读取状态。我错过了什么?

reactjs - 如何在具有功能组件的 React 应用程序中使用 Google(通过 Firebase)登录用户?

javascript - Body-Parser 不读取请求正文

javascript - Highcharts 中两条线交叉时绘制垂直线

javascript - React Native 超大图片定位

node.js - 引用错误 : [tablename] is not defined | Node. js、Express、Axios、PostgreSQL