在生产站点上反应缩小的复制错误

时间:2017-09-12 20:49:36

标签: reactjs heroku webpack redux package.json

打开我的应用程序时,我一直收到React minification警告。

我将我的webpack,package.json和redux存储设置为我认为会禁用此警告的设置,但它仍然出现。

任何帮助将不胜感激。我正在从我的webpack,package.json和redux store复制代码。我在heroku上托管我的应用程序。

商店

import { createStore, applyMiddleware } from 'redux';
import thunk from 'redux-thunk';
import rootReducer from '../reducers/root_reducer';

const middlewares = [thunk];

if (process.env.NODE_ENV !== 'production') {
  const logger = require('redux-logger');
  middlewares.push(logger.createLogger());
}

const configureStore = (preloadedState = {}) => (
  createStore(
    rootReducer,
    preloadedState,
    applyMiddleware(...middlewares)
  )
);

export default configureStore;

Webpack

var path = require('path');
var webpack = require("webpack");

var plugins = [];
var devPlugins = [];

var prodPlugins = [
  new webpack.DefinePlugin({
    'process.env': {
      'NODE_ENV': JSON.stringify('production')
    }
  }),
  new webpack.optimize.UglifyJsPlugin({
    compress: {
      warnings: true
    }
  })
];

plugins = plugins.concat(
  process.env.NODE_ENV === 'production' ? prodPlugins : devPlugins
)

module.exports = {
  entry: './frontend/gym_bump.jsx',
  output: {
    path: path.resolve(__dirname, 'app', 'assets', 'javascripts'),
    filename: './bundle.js',
  },
  module: {
    loaders: [
      {
        test: [/\.jsx?$/],
        exclude: /(node_modules)/,
        loader: 'babel-loader',
        query: {
          presets: ['es2015', 'react']
        }
      }
    ]
  },
  devtool: 'source-map',
  resolve: {
    extensions: ['.js', '.jsx', '*']
  }
};

package.json

"dependencies": {
    "babel-core": "^6.26.0",
    "babel-loader": "^7.1.2",
    "babel-preset-es2015": "^6.24.1",
    "babel-preset-react": "^6.24.1",
    "chart.js": "^2.6.0",
    "jquery": "^3.2.1",
    "moment": "^2.18.1",
    "react": "^15.6.1",
    "react-chartjs-2": "^2.6.1",
    "react-dom": "^15.6.1",
    "react-infinite-scroll-component": "^2.4.0",
    "react-redux": "^5.0.6",
    "react-router-dom": "^4.1.2",
    "react-simple-charts": "0.0.19",
    "redux": "^3.7.2",
    "redux-thunk": "^2.2.0",
    "salad-ui": "^1.1.50",
    "time-input": "^1.5.1",
    "webpack": "^3.5.5",
    "webpack-uglify-js-plugin": "^1.1.9"
  },
  "description": "This README would normally document whatever steps are necessary to get the application up and running.",
  "version": "1.0.0",
  "main": "index.js",
  "directories": {
    "doc": "docs",
    "lib": "lib",
    "test": "test"
  },
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
    "webpack": "webpack --watch",
    "postinstall": "webpack"
  },
  "engines": {
    "node": "8.2.1",
    "npm": "5.3.0"
  },
  "devDependencies": {
    "bundle-collapser": "^1.3.0",
    "envify": "^4.1.0",
    "uglify-js": "^3.0.28",
    "uglify-js-brunch": "^2.10.0",
    "uglifyify": "^4.0.3",
    "redux-logger": "^3.0.6"
  }

}

1 个答案:

答案 0 :(得分:0)

我解决了这个,愚蠢的错误。我在webpack中缺少插件:插件。

module.exports = {
  entry: './frontend/gym_bump.jsx',
  output: {
    path: path.resolve(__dirname, 'app', 'assets', 'javascripts'),
    filename: './bundle.js',
  },
  **plugins: plugins,**
  module: {
    loaders: [
      {
        test: [/\.jsx?$/],
        exclude: /(node_modules)/,
        loader: 'babel-loader',
        query: {
          presets: ['es2015', 'react']
        }
      }
    ]
  },
  devtool: 'source-map',
  resolve: {
    extensions: ['.js', '.jsx', '*']
  }
};
相关问题