模块构建失败:ReferenceError:[BABEL] /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"
  }
}

我挖了一下,试图找到答案,但是没有出现诸如在一台机器上工作而不是在另一台机器上工作的情况。

更新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 **我试图改变jsx,以js针对test在财产的WebPackloader配置对象,它并没有帮助。我删除了stage-1,但仍然失败。

阿里安

此问题已解决:

  1. 删除module.queryresolve从的WebPack配置文件。
  2. 将依赖项从devDependencies迁移到dependencies(heroku是生产环境,因此不会下载devDependencies,这对我来说没有意义!)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章