Je suis assez nouveau à React et j'ai construit une application de réaction côté client en utilisant webpack comme module bundler et npm. Cela fonctionne sans problème en développement avec Webpack devServer. En production, j'ai utilisé Express comme serveur. En cours d'exécution sur localhost: 8080, il s'affiche correctement mais je reçois ces avertissements. J'ai mis en place le NODE_ENV = 'production', mais toujours les mêmes avertissements.React App ignore NODE_ENV du mode de production
Voici mon fichier de configuration de production
de production.config.js
const UglifyJsPlugin = require('uglifyjs-webpack-plugin')
const webpack = require('webpack')
const path = require('path')
const HtmlWebpackPlugin = require('html-webpack-plugin');
const ExtractTextPlugin = require("extract-text-webpack-plugin");
const config ={
devtool: 'cheap-module-source-map',
entry: [
'react-hot-loader/patch',
'./client/main.js'
],
output: {
path: path.resolve(__dirname, 'build'),
filename: 'app.bundle.js',
publicPath:'/'
},
module: {
rules: [
{
test: /\.css$/,
use: ExtractTextPlugin.extract({
fallback: 'style-loader',
use: [
{
loader: 'css-loader',
//query: { sourceMap: false },
options: {
importLoaders: 1,
}
},
{
loader: 'postcss-loader'
}
]
})
},
{
test: /\.jsx?$/,
use: 'babel-loader',
exclude: /node_modules/
},
{
test: /\.(png|jpe?g|gif|svg|ico|\.woff$|\.ttf$|\.wav$|\.mp3$)$/i,
use: ['file-loader?name=img/[name].[ext]',
'image-webpack-loader']
},
{
test: /\.(eot|svg|ttf|woff|woff2)$/,
loader: 'file-loader?name=fonts/[name].[ext]'
}
]
},
plugins: [
//index.html custom template
new HtmlWebpackPlugin({
title: 'Index',
template: './index.html'
}),
new webpack.EnvironmentPlugin(
{
'process.env':
{
NODE_ENV: JSON.stringify('production') }
}
),
//extract css files
new ExtractTextPlugin({filename:"styles.css",disable:false,allChunks:true}),
new UglifyJsPlugin({
sourceMap: false,
mangle: true,
beautify:false,
compress: {
warnings: false, // Suppress uglification warnings
pure_getters: true,
unsafe: true,
unsafe_comps: true,
screw_ie8: true
},
output: {
comments: false
}
})
]
};
module.exports=config
de package.json
{
"name": "react-app",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"webpack": "webpack",
"dev": "webpack-dev-server --colors",
"prod": "npm run build && node deploy.js",
"build": "webpack --config production.config.js --progress --colors"
}
// dépendances ont été omis }
Essayez '" build ":" exporter NODE_ENV = production && NODE_ENV = production && webpack --config production.config.js --progress --colors "'. Vous pourriez aussi avoir besoin de NODE_ENV à 'production' dans le shell, ce que feront ces commandes supplémentaires. – Jaxx
Juste essayé votre solution, mais il jette l'exportation comme une commande non reconnue. mon OS est windows. – Ndx
https://stackoverflow.com/questions/40212411/what-is-windows-equivalent-command-to-export-user-supplied-password-pswd. Apparemment, la commande Windows équivalente est définie. – Jaxx