同じモジュールをインポートする多くのコンポーネントを持つReactアプリケーションがあります。 webpackは、要求するファイルごとに各モジュールを一度インポートするので、重複したコードが生成されます(この場合、2つのコンポーネントの2回のインポートがそれぞれ2回になります)。子コンポーネントがReactモジュールを必要としないようにコンポーネントを書き直すことを検討していますが、存在しない問題を解決している可能性があります。重複したコードが生成された場合、同じ反応モジュールの多くのインポートを避けたいと思います。同一の3つのモジュールをインポートwebpackは、同じモジュールをインポートする複数のファイルをどのように扱いますか?
成分1
import React from "react";
import { Link } from "react-router";
import ReactLogo from "elements/ReactLogo";
export default class MainMenu extends React.Component {
render() {
return <div>
<ReactLogo type="svg" /> <ReactLogo type="png" /> <ReactLogo type="jpg" />
<h2>MainMenu:</h2>
<ul>
<li>The <Link to="home">home</Link> page.</li>
<li>Do something on the <Link to="todo">todo page</Link>.</li>
<li>Switch to <Link to="some-page">some page</Link>.</li>
<li>Open the chat demo: <Link to="chat" params={{room: "home"}}>Chat</Link>.</li>
<li>Open the page that shows <Link to="readme">README.md</Link>.</li>
</ul>
</div>;
}
}
成分2。
import React from "react";
import { Link } from "react-router";
import ReactLogo from "elements/ReactLogo";
export default class MainMenu extends React.Component {
render() {
return <div>
<ReactLogo type="svg" /> <ReactLogo type="png" /> <ReactLogo type="jpg" />
<h2>MainMenu:</h2>
<ul>
<li>The <Link to="home">home</Link> page.</li>
<li>Do something on the <Link to="todo">todo page</Link>.</li>
<li>Switch to <Link to="some-page">some page</Link>.</li>
<li>Open the chat demo: <Link to="chat" params={{room: "home"}}>Chat</Link>.</li>
<li>Open the page that shows <Link to="readme">README.md</Link>.</li>
</ul>
</div>;
}
}
なぜすべてのファイルでインポートが繰り返されますか? –
申し訳ありませんが、私はそれを使用していますし、私のコードは複数回含まれています。どのようにそれを修正するのか分からない。 es6の私のすべてのファイルは200kbの大きさ(すべてtoghether)で、私の "bundle"ファイルは1.3mb @trekforeverです – jrodriguez
それで、Reactはそれをインポートする各コンポーネントに複製されていますか? – stackjlei