Node.js-Node_ENV未定义
我正在尝试为我的项目设置环境变量NODE_ENV 我正在使用Windows,并已在系统设置中设置了节点_ENV-这已通过键入set并在输出中标识下一行来验证 节点_ENV=生产 我似乎无法在webpack中设置变量 将下面的代码添加到我的项目(index.js)时,它只会注销未定义的 我的网页包配置:Node.js-Node_ENV未定义,node.js,webpack,Node.js,Webpack,我正在尝试为我的项目设置环境变量NODE_ENV 我正在使用Windows,并已在系统设置中设置了节点_ENV-这已通过键入set并在输出中标识下一行来验证 节点_ENV=生产 我似乎无法在webpack中设置变量 将下面的代码添加到我的项目(index.js)时,它只会注销未定义的 我的网页包配置: const path = require('path'); const webpack = require('webpack'); const ExtractTextPlugin = requir
const path = require('path');
const webpack = require('webpack');
const ExtractTextPlugin = require('extract-text-webpack-plugin');
const UglifyJSPlugin = require('uglifyjs-webpack-plugin')
process.env.NODE_ENV = process.env.NODE_ENV || 'development'
if (process.env.NODE_ENV === 'test') {
require('dotenv').config({ path: '.env.test' })
} else if (process.env.NODE_ENV === 'development') {
require('dotenv').config({ path: '.env.development' })
} else if (process.env.NODE_ENV === 'production') {
require('dotenv').config({ path: '.env.production' })
} else {
require('dotenv').config({ path: '.env.development' })
}
module.exports = (env) => {
const isProduction = env === 'production';
...
plugins: [
CSSExtract,
new UglifyJSPlugin(),
new webpack.DefinePlugin({
'process.env.FIREBASE_API_KEY': JSON.stringify(process.env.FIREBASE_API_KEY),
'process.env.FIREBASE_AUTH_DOMAIN': JSON.stringify(process.env.FIREBASE_AUTH_DOMAIN),
'process.env.FIREBASE_DATABASE_URL': JSON.stringify(process.env.FIREBASE_DATABASE_URL),
...
}),
devtool: isProduction ? 'source-map' : 'inline-source-map',
...
我有,但仍然无法设置env变量
我哪里出错了?我通过使用包成功地设置了NODE_ENV! 如果您在Windows上开发node.js,这将非常有用。Linux/Mac用户不会有这个问题 要设置环境变量,只需键入 交叉环境节点_env=production[此处是您的推荐] 例如: 交叉环境节点_env=生产网页包--环境生产
在
cmd
中可以访问它吗?它有点复杂,但您可以尝试使用,这样您就可以轻松地设置环境变量,如NODE\u ENV=development NODE foo.js
。它还解决了与Windows的许多其他兼容性问题。Hi@pradoshnair-是的,通过在VS代码(我的代码编辑器)中键入“set”Hi@SethHolladay,可以通过命令提示符和命令提示符访问该变量-我经常使用WSL,但对我来说,它与VS代码的集成性很差。我会尝试,如果在网页包生产包装更好地工作,我WSL。但是,它不能解决编码时切换环境的问题:/@Kermit他们最近发布了WSL2,VS代码经常收到更新。也许值得时不时地查看一下。
const path = require('path');
const webpack = require('webpack');
const ExtractTextPlugin = require('extract-text-webpack-plugin');
const UglifyJSPlugin = require('uglifyjs-webpack-plugin')
process.env.NODE_ENV = process.env.NODE_ENV || 'development'
if (process.env.NODE_ENV === 'test') {
require('dotenv').config({ path: '.env.test' })
} else if (process.env.NODE_ENV === 'development') {
require('dotenv').config({ path: '.env.development' })
} else if (process.env.NODE_ENV === 'production') {
require('dotenv').config({ path: '.env.production' })
} else {
require('dotenv').config({ path: '.env.development' })
}
module.exports = (env) => {
const isProduction = env === 'production';
...
plugins: [
CSSExtract,
new UglifyJSPlugin(),
new webpack.DefinePlugin({
'process.env.FIREBASE_API_KEY': JSON.stringify(process.env.FIREBASE_API_KEY),
'process.env.FIREBASE_AUTH_DOMAIN': JSON.stringify(process.env.FIREBASE_AUTH_DOMAIN),
'process.env.FIREBASE_DATABASE_URL': JSON.stringify(process.env.FIREBASE_DATABASE_URL),
...
}),
devtool: isProduction ? 'source-map' : 'inline-source-map',
...