0
私はフロントエンドに多数の反応コンポーネントを含み、最近複数のバージョンの反応のためにブレークし始めた別のものを追加しようとしています。webpack 1 build peerDependenciesを見つけることができません
古いコードをすべて更新できるように更新する[email protected]
私は、すべての機能が反応ライブラリの独自のインスタンスに読み込まれないようにpeerDependenciesを使用することに決めました。開発peerDependencies
で
が正常に動作しているが、生産のために構築しようとしたとき、私はエラーを取得する:私は
Cannot resolve module 'react' in /Users/path/to/project/lib/toaster @ ...
何をしないのですか?
package.json:
{
"name": "my-package",
// ... omitted ...
"scripts": {
"test": "NODE_ENV=development testem ci",
"testem": "testem -g",
"start": "webpack --watch",
"build": "webpack -p --config ./webpack.production.config.js --progress --profile --colors --preserve-symlinks"
},
"repository": { // ... omitted ... },
"devDependencies": {
"babel-core": "^6.4.5",
"babel-loader": "^6.2.1",
"babel-preset-es2015": "^6.3.13",
"babel-preset-react": "^6.23.0",
"browser-sync": "^2.17.2",
"browser-sync-webpack-plugin": "^1.1.3",
"bundle-collapser": "^1.1.1",
"del": "^1.1.1",
"envify": "^3.2.0",
"es6-promise": "^2.0.1",
"tape": "^4.0.0",
"testem": "^0.6.35",
"webpack": "^1.13.2"
},
"peerDependencies": {
"react": "^15.3.2",
"react-dom": "^15.3.2"
},
"dependencies": {
"empty": "^0.10.0",
"lodash": "^3.9.1",
"react-addons-css-transition-group": "^15.4.2"
}
}
webpack.production.config.js
var path = require('path');
var webpack = require('webpack');
module.exports = {
entry: [
...
],
devtool: 'eval',
output: {
path: path.join(__dirname, "output"),
filename: 'index.js',
library: 'my-package',
libraryTarget: 'umd'
},
resolveLoader: {
modules: ['..', 'node_modules']
},
plugins: [
new webpack.DefinePlugin({
// This has effect on the react lib size.
"process.env": {
NODE_ENV: JSON.stringify("production")
}
}),
new webpack.IgnorePlugin(/vertx/),
new webpack.IgnorePlugin(/configs/),
new webpack.IgnorePlugin(/un~$/),
new webpack.optimize.DedupePlugin(),
new webpack.optimize.UglifyJsPlugin(),
],
resolve: {
extensions: ['.js', '.jsx']
},
module: {
loaders: [
{
test: /.jsx?$/,
loader: 'babel-loader',
exclude: /node_modules/,
query: {
presets: ['es2015', 'react']
}
}
]
}
};