2017-04-06 16 views
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'] 
     } 
     } 
    ] 
    } 
}; 

答えて

0

私はこれがpeerDependenciesとは何の関係もありませんでした...

それを考え出しました。問題は

それは私の通常の webpack.config.jsにファイル

resolve: { 
    extensions: ['', '.js', '.jsx'] 
} 

にする必要resolve

resolve: { 
    extensions: ['.js', '.jsx'] 
} 

の下で私のwebpack.production.config.jsファイルにありました

関連する問題