は、プロジェクト
WebPACKの1.14
インポート外部コンポーネント、WebPACKのビルドリピートモジュールは
質問に反応:
MODAおよびMODBがプロジェクトに含まれていません。これらは外部コンポーネントです。
bundle.jsを構築WebPACKの
をindex.jsするMODB
輸入MODAおよびMODBに
インポートモーダは2つの同じMODAモジュールを持っています。
プロジェクトディレクトリ
- アウトプロジェクト
- 資産
bundle.js
react.js
- JS
entry.js
+
012 node_modules package.json
index.htmlを
.babelrc
webpack.config.js
.babelrc yarn.lock{ "presets": ["es2015","stage-0","react"] }
package.json依存
"dependencies": {
"react": "^15.2.1",
"react-dom": "^15.2.1",
},
"devDependencies": {
"babel-core": "^6.10.4",
"babel-loader": "^6.2.4",
"babel-preset-es2015": "^6.9.0",
"babel-preset-react": "^6.11.1",
"babel-preset-stage-0": "^6.5.0",
"webpack": "^1.14.0"
}
webpack.config.js
var webpack = require('webpack');
var path = require('path');
module.exports = {
entry:[
'./js/entry.js'
],
output: {
path: __dirname + '/assets/',
publicPath: "/",
filename: 'bundle.js'
},
module: {
loaders:[
{
test: /\.jsx?$/,
exclude: /node_modules|assets/,
loader: 'babel'
}
]
},
externals: {
"react": 'React',
'react-dom': 'ReactDOM'
},
resolve: {
extensions: ['', '.js', '.jsx'],
alias: {
'component': 'E:/experiment/out-component' //import external components
}
}
};
エントリー。JS
import React from 'react';
import ReactDOM from 'react-dom';
import ModA from 'component/mod/ModA.js';
import ModB from 'component/mod/ModB.js';
ReactDOM.render(
<div>
<h1>webpack</h1>
<ModA/>
<ModB/>
</div>,
document.querySelector('.wrapper')
);
コンポーネントディレクトリ
- アウト成分
- MOD
ModA.js
ModB.js
+ node_modules
.babelrc
package.json
yarn.lock
ModA.js
const ModA =() => <div>组件A</div>;
export default ModA;
ModB.js
import ModA from 'component/mod/ModA.js';
const ModB =() => {
return (
<div>
<h3>组件B引入组件A</h3>
<ModA/>
</div>
);
}
export default ModB;
CLIの実行のWebPACK
取得bundle.js
コンポーネントは、多くのプロジェクトで使用されます:10はbundle.jsに2つの同じモーダがあります。
コンポーネントは独立したディレクトリにあります。
どのように繰り返しの問題を解決するには?