找不到此確切答案。我想在我的/公共文件夾中有一個data.JSON文件,其中包含一個靜態文件,一旦建立了網站,我可以快速修改而無需重建網站。不過,我正在努力解決如何做出反應。我試過了README的指示,但有點不清楚。創建React-App公用文件夾JSON
如果我嘗試:
class Home extends Component {
render() {
const data = require(`${process.env.PUBLIC_URL}/data.json`);
我得到的消息上編譯:
./src/Home.js
Module not found: You attempted to import /data.json which falls outside of the project src/ directory. Relative imports outside of src/ are not supported. You can either move it inside src/, or add a symlink to it from project's node_modules/.
什麼是包括它的正確方法?我還試圖通過嘗試將其寫入window.DATA在public/index.html中,但因爲我認爲它必須調用Asynchronous(否則chrome會給出錯誤),有時候數據會在那裏,有時不會,而且React似乎並不喜歡它。代碼我嘗試過:
var request = new XMLHttpRequest();
request.open("GET", "%PUBLIC_URL%/data.json", true);
request.send(null);
request.onreadystatechange = function() {
if (request.readyState === 4 && request.status === 200) {
window.DATA = JSON.parse(request.responseText);
}
}
任何幫助將不勝感激!
你嘗試使用AB作爲錯誤消息建議的溶質路徑? – Chris
喜歡從'./data.json進口數據嗎?如何將公共URL添加到該前綴?或者是其他東西?在自述中,似乎可以完成。 – reubenb87
我相信如果你的'data.json'文件在'src'目錄之外,你必須使用一個絕對路徑,或者把'data.json'文件放到你項目的'/ src /'目錄中想要使用相對路徑。 – Chris