2017-08-09 50 views
2

時,我採用了棱角分明的CLI爲我的項目放在本地文件夾。我已經把一個JSON在結構如下面訪問JSON採用了棱角分明的CLI

的src /應用程序/數據/ data.json。我試圖從http.get方法訪問它

return this._http.get('../data/data.json', 
           { headers: this.getHeaders }) 
      .map((response: Response) => response.json()) 
      .catch(this.handleError); 

它說它找不到json。但是,如果我把JSON放置在資產文件夾中,它也是一樣。我不希望JSON放置在資產文件夾中。如果我將json保留在應用程序文件夾中,它會起作用嗎?

+1

我相信它應該是你的資產文件夾內的地方因爲那是你的公開目錄 – brijmcq

+0

應該工作。在問題中你的代碼在哪條路上? – MeMeMax

回答

2

您需要使用.angular-cli.json"assets"部分。這樣,您將通過角CLI e.g讓你的靜態資產輸出:

"assets": [ 
    "assets", 
    "favicon.ico", 
    "app/data/data.json" 
], 

通過對app/data/文件夾指定app/data/data.jsonassets CLI將輸出一個單一的文件data.json。如果你想輸出你app/data文件夾內的所有資產,那麼你這樣做:

"assets": [ 
     "assets", 
     "favicon.ico", 
     "app/data" 
    ], 

您可以隨時檢查,如果你的static資產中獲得了通過CLI由 運行ng build和檢查dist文件夾的內容outputed。

您可以將您的自定義資產,以assetsassets/data/data.json所以這樣你就不必修改 .angular-cli.jsonassets文件夾已經存在默認

+0

將他放置文件在他的app文件夾我想它會任何想法行不通? –

+1

@RahulSingh可能是裏面'app'可能是在同一水平 – Kuncevic

+0

所以我把資產或任何文件夾中沒有任何意義,這將是通過直接URL – Hacker