【问题标题】:Production webpack build of reactjs - It looks like you're using a minified copy of the development build of Reactreactjs 的生产 webpack 构建 - 看起来您正在使用 React 开发构建的缩小副本
【发布时间】:2017-10-25 04:43:01
【问题描述】:

我在一个应用上使用 Reactjs,是时候为生产构建它了。 如下所示,我的 package.json 有 pack:prod 命令,它使用 webpack 和特定的 webpack.config.js 文件在“生产”环境中构建应用程序。 它只是工作,但“反应开发工具”chrome插件一直说我使用的是缩小的开发版本而不是生产版本。

有谁知道我还能做些什么来让它在我的环境中工作? 我从另一个项目中获得了相同的命令和 webpack 文件,但在 prod 构建中没有显示此错误。

下面是我的 webpack 配置文件和 package.json:

webpack.config.js

module.exports = {
  entry: ['./src/App.js.jsx'],
  output: {
    path: '../static',
    filename: 'index.bundled.js',
    publicPath: '/static/'
  },
  module: {
    loaders: [
      {
        test: /\.jsx?$/,
        exclude: /node_modules/,
        loader: 'babel-loader'
      },
      {
        test: /\.scss$/,
        loaders: ["style-loader", "css-loader", "sass-loader"]
      }
    ]
  },
  devServer: {
    headers: { "Access-Control-Allow-Origin": "*" },
    proxy: {
      '/': {
        target: 'http://localhost:8080',
        changeOrigin: true
      }
    }
  },
  plugins: []
}

webpack.prod.config.js

let config = require('./webpack.config.js');
let webpack = require('webpack');

config.plugins = [
  new webpack.DefinePlugin({
    "process.env": {
      "NODE_ENV": JSON.stringify('production')
    }
  }),
  new webpack.optimize.UglifyJsPlugin()
]
module.exports = config;

package.json - “脚本”和“依赖”部分

"scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
    "pack": "webpack --progress",
    "pack:prod": "webpack -p --progress --cofig webpack.prod.config.js",
    "dev-server": "webpack-dev-server --content-base static/ --port 9999 --hot --inline"
  },
  "author": "",
  "license": "ISC",
  "devDependencies": {
    "axios": "^0.15.3",
    "babel-core": "^6.22.1",
    "babel-loader": "^6.2.10",
    "babel-plugin-transform-object-rest-spread": "^6.23.0",
    "babel-preset-es2015": "^6.22.0",
    "babel-preset-react": "^6.22.0",
    "classnames": "^2.2.5",
    "css-loader": "^0.26.1",
    "js-cookie": "^2.1.3",
    "material-ui": "^0.17.1",
    "moment": "^2.18.1",
    "node-sass": "^4.3.0",
    "qs": "^6.3.1",
    "react": "^15.3.2",
    "react-dom": "^15.4.2",
    "react-maskedinput": "^3.3.4",
    "react-router": "^3.0.2",
    "react-tap-event-plugin": "^2.0.1",
    "react-text-mask": "^3.0.0",
    "sass-loader": "^4.1.1",
    "style-loader": "^0.13.1",
    "webpack": "^1.14.0",
    "webpack-dev-server": "^1.16.2"
  }

我一直在浏览器控制台上看到的消息是

index.bundled.js:2 Warning: It looks like you're using a minified copy of the development build of React. When deploying React apps to production, make sure to use the production build which skips development warnings and is faster. See https: // fb.me/react-minification for more details.

【问题讨论】:

  • "pack:prod": "webpack -p --progress --cofig webpack.prod.config.js" - 应该是--config(注意拼写错误)
  • @DanO 谢谢,我不敢相信我没有看到。这是我的错,正确的命令完成了这项工作。如果 webpack 本身警告我错误的参数会很好。

标签: javascript reactjs npm webpack dev-to-production


【解决方案1】:

错误在于您正在运行的命令。即

"pack:prod": "webpack -p --progress --cofig webpack.prod.config.js"

应该是--config

【讨论】:

    猜你喜欢
    • 2021-03-13
    • 1970-01-01
    • 2018-06-17
    • 2018-10-13
    • 1970-01-01
    • 1970-01-01
    • 2018-01-18
    • 2019-08-05
    • 1970-01-01
    相关资源
    最近更新 更多