React項目 fetch 本地json文件 404問題

今天在練手豆瓣電影項目的時候,想要在React項目中fetch本地的json文件卻一直報404。豆瓣API請求有次數限制愤钾,防止訪問過多后無法訪問崖面,就模擬本地數據。

網上的解決方案辟躏,收集了幾點:

  • 說地址都是相對于首頁index.html而言,所以將json數據放在相對index.html上就好了。
  • 缺少json-loader處理拦止。根本不是,webpack在3之后就不需要json-loader了
  • 還是沒有l(wèi)oader,需要在'./Data/in_theaters.json'前面加上json! 'json!./Data/in_theaters.json'

然而并沒有解決問題。網上的解決方案都是基于 create-react-app 的項目汹族,而我的項目是自己集成的環(huán)境萧求。

我的代碼

方法在寫在componentWillMount生命周期函數中

componentWillMount(){
 fetch('./Data/in_theaters.json'
        ).then(response => {
            return response.json()
        }).then(data => {
          console.log(data)
        })
}

文件路徑是這樣的:


1.png

結果是這樣的:


2.png

尋找原因

肯定還是路徑問題,那么就和webpack的配置相關顶瞒,Webpack 中的 devServer 配置項就是引起這一切問題的原因夸政,它的功能大概是這樣:

在開發(fā)環(huán)境下,DevServer 提供虛擬服務器榴徐,讓我們進行開發(fā)和調試守问;
提供實時重新加載。與Webpack-DevServer contentBase 這個屬性有關系

webpack里面關于path坑资、publicPathcontentBase的區(qū)別及用法耗帕。

  • output里面的path表示的是output目錄對應的一個絕對路徑。
  • output里面的publicPath表示的是打包生成的index.html文件里面引用資源的前綴
  • devServer里面的publicPath表示的是打包生成的靜態(tài)文件所在的位置(若是devServer里面的publicPath沒有設置盐茎,則會認為是 output里面設置的publicPath的值)
  • devServer里面的contentBase表示的是告訴服務器從哪里提供內容兴垦。(只有想提供靜態(tài)文件時才需要)

解決方案

在 webpack.config.js 中

 devServer: {
        open: true,
        port: 3000,
        contentBase: path.join(__dirname, 'src'),
        hot: true
    }

因為我項目的根路徑是src,配置后字柠,重啟服務探越,最后終于拿到了我想要的數據~

3.png
?著作權歸作者所有,轉載或內容合作請聯系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市窑业,隨后出現的幾起案子钦幔,更是在濱河造成了極大的恐慌,老刑警劉巖常柄,帶你破解...
    沈念sama閱讀 217,542評論 6 504
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件鲤氢,死亡現場離奇詭異,居然都是意外死亡西潘,警方通過查閱死者的電腦和手機卷玉,發(fā)現死者居然都...
    沈念sama閱讀 92,822評論 3 394
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來喷市,“玉大人相种,你說我怎么就攤上這事∑沸眨” “怎么了寝并?”我有些...
    開封第一講書人閱讀 163,912評論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長腹备。 經常有香客問我衬潦,道長,這世上最難降的妖魔是什么植酥? 我笑而不...
    開封第一講書人閱讀 58,449評論 1 293
  • 正文 為了忘掉前任镀岛,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘哎媚。我一直安慰自己喇伯,他們只是感情好,可當我...
    茶點故事閱讀 67,500評論 6 392
  • 文/花漫 我一把揭開白布拨与。 她就那樣靜靜地躺著稻据,像睡著了一般。 火紅的嫁衣襯著肌膚如雪买喧。 梳的紋絲不亂的頭發(fā)上捻悯,一...
    開封第一講書人閱讀 51,370評論 1 302
  • 那天,我揣著相機與錄音淤毛,去河邊找鬼今缚。 笑死,一個胖子當著我的面吹牛低淡,可吹牛的內容都是我干的姓言。 我是一名探鬼主播,決...
    沈念sama閱讀 40,193評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼蔗蹋,長吁一口氣:“原來是場噩夢啊……” “哼何荚!你這毒婦竟也來了?” 一聲冷哼從身側響起猪杭,我...
    開封第一講書人閱讀 39,074評論 0 276
  • 序言:老撾萬榮一對情侶失蹤餐塘,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后皂吮,有當地人在樹林里發(fā)現了一具尸體戒傻,經...
    沈念sama閱讀 45,505評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,722評論 3 335
  • 正文 我和宋清朗相戀三年蜂筹,在試婚紗的時候發(fā)現自己被綠了需纳。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,841評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡艺挪,死狀恐怖候齿,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情闺属,我是刑警寧澤,帶...
    沈念sama閱讀 35,569評論 5 345
  • 正文 年R本政府宣布周霉,位于F島的核電站掂器,受9級特大地震影響,放射性物質發(fā)生泄漏俱箱。R本人自食惡果不足惜国瓮,卻給世界環(huán)境...
    茶點故事閱讀 41,168評論 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧乃摹,春花似錦禁漓、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,783評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至掰读,卻和暖如春秘狞,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背蹈集。 一陣腳步聲響...
    開封第一講書人閱讀 32,918評論 1 269
  • 我被黑心中介騙來泰國打工烁试, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人拢肆。 一個月前我還...
    沈念sama閱讀 47,962評論 2 370
  • 正文 我出身青樓减响,卻偏偏與公主長得像,于是被迫代替她去往敵國和親郭怪。 傳聞我的和親對象是個殘疾皇子支示,可洞房花燭夜當晚...
    茶點故事閱讀 44,781評論 2 354

推薦閱讀更多精彩內容

  • 原文首發(fā)于:Webpack 3悼院,從入門到放棄 Update (2017.8.27) : 關于 output.pub...
    昵稱都被用完了衰閱讀 1,897評論 4 19
  • publicPath指定了一個在瀏覽器中被引用的URL地址。 對于使用 和 加載器咒循,當文件路徑不同于他們的本地磁盤...
    飛呀飛哥閱讀 1,699評論 0 0
  • 什么是webpack: webpack可以看做是模塊打包機:它做的事情是据途,分析你的項目結構,找到JavaScrip...
    不去解釋閱讀 800評論 0 2
  • 今天上午去還給昨天在星巴克鄰座的姑娘掉的手機叙甸。 然后上樓上廁所的時候看到了晨光文具店颖医,商場里很少有賣文具的,于是我...
    夏天Micky閱讀 525評論 4 0
  • 為了與新的“復盤規(guī)則”同步裆蒸,重新調整自己的復盤時間熔萧、主題(每日12點前復盤前一天,簽到復盤為單一主題深入復...
    暖靜兒閱讀 168評論 0 1