一个常见的问题,但像往常一样,本网站上的每个解决方案都不适合我的情况。
我创建了一个具有特定常量的.env.production文件。
在我的package.json中,我有:
"build": "NODE_ENV=production webpack --config webpack.config.js --colors",
我使用经典:npm run build
这是我的webpack.config
const webpack = require('webpack');
const path = require('path');
var config = {
context: __dirname + '/src',
entry: {
javascript: "./index.js",
},
output: {
// path:path.join(__dirname, './dist'),
path: path.join(__dirname,'../static/js/'),
filename: 'bundle.js',
},
devServer: {
inline: true,
port: 8080
},
resolveLoader: {
modules: [path.join(__dirname, 'node_modules')]
},
module: {
loaders: [
{
test: /\.jsx?$/,
exclude: /node_modules/,
loader: 'babel-loader',
query: {
presets: ['react']
}
},
{
test: /\.css$/,
loader: 'style-loader'
},
{
test: /\.css$/,
loader: 'css-loader',
query: {
modules: true,
localIdentName: '[name]__[local]___[hash:base64:5]'
}
},
{
test: /\.svg$/,
use: [
{
loader: "babel-loader"
},
{
loader: "react-svg-loader",
options: {
jsx: true // true outputs JSX tags
}
}
]
}
]
},
}
module.exports = config;
正如您所看到的,我没有使用webpack.DefinePlugin
插件覆盖webpack配置中的ENV。
那么为什么我的process.env是EMPTY?
当我使用npm start启动应用程序时,通常会填充process.env并将process.env.NODE_ENV
设置为开发。
感谢您的帮助!