我们如何使用Webpack在本地运行react js生产代码?

我正在尝试使用webpack在本地运行ReactJS生产代码。 有人可以检查我的设置吗?

webpack.config.js

 const path = require('path');
 const HtmlWebpackPlugin = require('html-webpack-plugin');

module.exports = {
  entry: path.join(__dirname,'src','index.js'),output: {
    path: path.join(__dirname,'dist'),filename: 'index.bundle.js'
  },mode: process.env.NODE_ENV || 'development',resolve: {
    modules: [path.resolve(__dirname,'src'),'node_modules']
  },devserver: {
    contentBase: path.join(__dirname,//host: '00.00.00.0',//your ip address
    port: 4201,},module: {
    rules: [
      {
        test: /\.jsx?$/,// we do not want anything from node_modules to be compiled
        exclude: /node_modules/,use: ['babel-loader']
      },{
        test: /\.html$/,use: [{loader: "html-loader"}]
      },{
        test: /\.(css|scss)$/,use: [
          "style-loader",// creates style nodes from JS strings
          "css-loader",// translates CSS into CommonJS
          "sass-loader" // compiles Sass to CSS,using Node Sass by default
        ]
      },{ 
        test: /\.json$/,loader: "json-loader" 
      },{
        test: /\.(ttf|eot|woff|woff2|jpg|jpeg|png|gif|mp3|svg|ico)$/,loaders: ['file-loader']
      }
    ]
  },plugins: [
    new HtmlWebpackPlugin({
      template: path.join(__dirname,'index.html')
    })
  ]
};

当我运行npm run build时,该过程似乎正确执行(创建build文件夹,其中包含捆绑的js文件和index.html文件)

package.json

{
  "name": "test","version": "1.0.0","description": "","main": "index.js","scripts": {
    "test": "echo \"Error: no test specified\" && exit 1","webpack": "babel-node ./node_modules/webpack/bin/webpack","_start": "babel-node ./node_modules/webpack-dev-server/bin/webpack-dev-server --open","start": "webpack-dev-server --mode development","build": "webpack --mode production"
  },"keywords": [],"devDependencies": {
    "@babel/core": "^7.4.0","@babel/node": "^7.2.2","@babel/plugin-proposal-class-properties": "^7.4.0","@babel/plugin-syntax-dynamic-import": "^7.2.0","@babel/preset-env": "^7.4.2","@babel/preset-react": "^7.0.0","babel-loader": "^8.0.5","css-loader": "^2.1.1","file-loader": "^3.0.1","html-loader": "^0.5.5","html-webpack-plugin": "^3.2.0","node-sass": "^4.11.0","path": "^0.12.7","sass-loader": "^7.1.0","style-loader": "^0.23.1","webpack": "^4.29.6","webpack-cli": "^3.3.0","webpack-dev-server": "^3.2.1"
  },"dependencies": {
    "@coreui/coreui": "^2.1.12","@coreui/coreui-plugin-chartjs-custom-tooltips": "^1.3.1","@coreui/icons": "0.3.0","@coreui/react": "^2.5.1","bootstrap": "^4.3.1","moment": "^2.24.0","node-sass": "^4.12.0","react": "^16.8.6","react-dom": "^16.8.6","react-router-config": "^5.0.1","react-router-dom": "^5.0.1","underscore": "^1.9.1"
  }
}

我是新来的反应者和webpack。我有一个非常简单的react项目,并尝试在本地使用webpack运行它。但无法解决。

shw8192935 回答:我们如何使用Webpack在本地运行react js生产代码?

尝试运行NODE_ENV=product yarn start,我不知道您的packages.json中包含哪些脚本,但是您需要在运行脚本之前设置NODE_ENV=production


编辑:

在您的情况下,我将更改您的packages.json。因为默认情况下,如果您不更改development

,您的webpack将以NODE_ENV模式运行
"scripts": {
    "test": "echo \"Error: no test specified\" && exit 1","webpack": "babel-node ./node_modules/webpack/bin/webpack","_start": "babel-node ./node_modules/webpack-dev-server/bin/webpack-dev-server --open","start": "webpack-dev-server","build": "webpack --mode production"
  },

那么这个NODE_ENV=product yarn start肯定可以工作

,

我认为您也可以为生产模式添加脚本

"prod": "webpack-dev-server --mode production",

然后 纱线生产产品

希望有帮助

,

您还可以使用yarn build构建生产版本,然后在本地部署以测试生产。

您可以在以下位置阅读更多有关如何在本地测试生产版本的信息 https://medium.com/@samratshaw/test-react-production-build-locally-434907be9e49

本文链接:https://www.f2er.com/3145306.html

大家都在问