この正確な質問に答えられません。 data.JSONファイルを私の/ publicフォルダに入れたいのですが、一旦サイトが構築されると、サイトを再構築することなく素早く変更することができます。しかし、私はこれをどのように反応させるかについて苦労しています。私はREADMEの指示に従ってみましたが、少し不明です。Create-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/.
それを含めるための適切な方法は何ですか?私はpublic/index.htmlのwindow.DATAに書き込むことでハッキリとした方法を試みましたが、非同期(そうでなければクロムは私にエラーを与えます)と呼ぶ必要があると信じているので時々データがそこにあります。それが好きではないようです。コードを試しました:
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を追加するには、その前に追加しますか?または、他の何か? readmeでは、それができるようだ。 – reubenb87
あなたの 'data.json'ファイルが' src'ディレクトリの外にある場合は絶対パスを使用するか、 'data.json'ファイルをプロジェクトの'/src/'ディレクトリに入れてください相対パスを使いたい。 – Chris