記事にする目的
今回、Laravelで開発を行なっているときに、このエラーでかなり困ったので、自分用のメモとして残しておきます。
起こった事象に対する解決策を書く形なので、該当する方のみご覧ください。
また、解決はしたものの、勉強不足でなぜ解決できたかわかってないので、教えていただけたら幸いです。
開発中につまづいたこと
開発環境は、
- Laravel Framework : 6.0.3
- react : ^16.2.0
で、Laravelのviewの部分にReact.jsを使っています。
つまづいたのは、コンパイルをyarnを用いてyarn run watch
で変更を監視して開発を行なっていて、
Reactで画像を表示させようとした時に、コンパイルがエンドレスに続いて、after emitting SizeLimitsPlugin
という文字が出ていたところです。
その時のコードを簡易に表現したものがこちらです。
(参考 : https://create-react-app.dev/docs/adding-images-fonts-and-files)
index.js
import demo from './demo.png';
function Demo() {
return <img src={demo} alt="Demo" />;
}
これでコンパイルするとエンドレスに行われてしまいます。。。
ここで、解決策は以下のようになります。
index.js
function Demo() {
const demo = './demo.png';
return <img src={demo} alt="Demo" />;
}
これでyarn run watch
は正常に行われます。パスをインポートせずに定数として宣言すれば、
コンパイルが無限に行われることはないようです。
以上になります。