模块构build失败:ReferenceError: /app/src/index.js:未知选项:/app/node_modules/react/react.js.Children

我的项目失败,在heroku上的标题错误消息,但它在本地工作。

这是我的webpack.config.js

 module.exports = { entry: [ './src/index.js' ], output: { path: __dirname, publicPath: '/', filename: 'bundle.js' }, module: { loaders: [{ test: /\.js$/, exclude: /node_modules/, loader: 'babel-loader', query: { presets: ['react', 'es2015', 'stage-0'] } }] }, resolve: { extensions: ['.jsx', '.js'] }, devServer: { historyApiFallback: true, contentBase: './' } }; 

这是package.json

 { "main": "index.js", "scripts": { "start": "node ./node_modules/webpack-dev-server/bin/webpack-dev-server.js", "test": "mocha --compilers js:babel-core/register --require ./test/test_helper.js --recursive ./test", "test:watch": "npm run test -- --watch" }, "author": "", "license": "ISC", "devDependencies": { "babel-core": "^6.26.0", "babel-loader": "^7.1.2", "babel-preset-es2015": "^6.1.18", "babel-preset-react": "^6.24.1", "babel-preset-stage-1": "^6.24.1", "chai": "^3.5.0", "chai-jquery": "^2.0.0", "jquery": "^2.2.1", "jsdom": "^8.1.0", "mocha": "^2.4.5", "react-addons-test-utils": "^0.14.7" }, "dependencies": { "axios": "^0.17.1", "lodash": "^3.10.1", "react": "^0.14.3", "react-dom": "^0.14.3", "react-redux": "4.3.0", "react-router": "^2.0.1", "react-router-dom": "^4.0.0", "redux": "^3.0.4", "redux-form": "^6.6.3", "redux-promise": "^0.5.3", "validator": "^9.1.2", "webpack": "^3.8.1", "webpack-dev-server": "^2.9.4" } } 

我挖了一下,试图find一个答案,但没有例如在一台机器上工作,而不是在另一台机器上工作。

更新1

这里是index.js

 import React from 'react'; import ReactDOM from 'react-dom'; import { Provider } from 'react-redux'; import { createStore, applyMiddleware } from 'redux'; import { BrowserRouter, Route, Switch } from 'react-router-dom'; import promise from 'redux-promise'; import reducers from './reducers'; import LoginForm from './components/login_form'; const createStoreWithMiddleware = applyMiddleware(promise)(createStore); ReactDOM.render( <Provider store={createStoreWithMiddleware(reducers)}> <BrowserRouter> <div> <Route path="/" component={LoginForm} /> </div> </BrowserRouter> </Provider> , document.querySelector('.container')); 

**更新2 **我试着改变jsxjs的webpack loaderconfiguration对象的test属性,它没有帮助。 我删除了stage-1 ,但仍然失败。

这个问题得到解决:

  1. 从webpackconfiguration文件中删除module.queryresolve
  2. 将依赖关系从devDependencies移动到dependencies (heroku是一个生产环境,因此它不下载devDependencies ,这对我没有任何意义!)