繁体   English   中英

如何将 React 置于生产模式?

[英]How to put React in production mode?

我尝试使用此处的解决方案,但该图标仍显示为开发模式。

这是我当前的文件,其中包含以下答案的更新:

const path = require('path');
const SRC_DIR = path.join(__dirname, '/client-react/src');
const DIST_DIR = path.join(__dirname, '/client-react/dist');
const webpack = require('webpack')

module.exports = {
  entry: `${SRC_DIR}/index.jsx`,
  output: {
    filename: 'bundle.js',
    path: DIST_DIR
  },
  plugins: [
    new webpack.DefinePlugin({'process.env': {NODE_ENV: JSON.stringify('production')} })
  ],
  module: {
      loaders: [
      {
        test: /\.jsx?/,
        include: SRC_DIR,
        loader: 'babel-loader',
        query: {
          plugins: ["transform-object-rest-spread", "transform-class-properties"],
          presets: ['react', 'es2015']
       }
      }
    ]
  }
};

如果要在生产模式下构建应用程序,则应使用webpack 生产快捷方式 像这样:

webpack -p

这将使webpack 优化选项能够缩小您的JS。 请参阅此SO答案webpack标志的更详细说明。

Webpack插件需要放在module.exportsplugins键下。

https://webpack.github.io/docs/using-plugins.html#built-in-plugins

试试这个:

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

如果使用Webpack 4,则无需更改webpack.config.js 它在开发和生产模式中保持不变。

唯一需要的是你的package.json

"scripts": {
    "dev": "webpack --mode development",
    "build": "webpack --mode production"
}

有了这个,创建一个开发包:

npm run dev

生产包:

npm run build

有同样的错误,所以修复它我做了这个:

的package.json

"scripts": {
  "build": "NODE_ENV=production webpack --progress --colors",
  "start": "NODE_ENV=development webpack-dev-server --progress --colors"
}

webpack.config.js

const env = process.env.NODE_ENV

module.exports = {
  plugins: [
    new webpack.DefinePlugin({
      'process.env.NODE_ENV': JSON.stringify(env)
    })
  ]
}

它应该是肯定的。

在这里,我有一些配置,您可以尝试优化您的构建。

这对我有用:运行npm run build后跟npm install -g serveserve -s build

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM