Я получаю process.env.NODE_ENV либо в производстве, либо в процессе разработки, в то время как мне тоже нужно проверить переменную среды.
В моем package.json:
"scripts": {
"dev": "node build/dev-server.js",
"start": "node build/dev-server.js",
"build": "node build/build.js"
},
На моем dev-сервере.js
const config = require('../config');
if (!process.env.NODE_ENV) {
process.env.NODE_ENV = JSON.parse(config.dev.env.NODE_ENV)
}
const opn = require('opn')
const path = require('path')
const express = require('express')
const webpack = require('webpack')
const proxyMiddleware = require('http-proxy-middleware')
const webpackConfig = process.env.NODE_ENV === 'testing'
? require('./webpack.prod.conf')
: require('./webpack.dev.conf')
// default port where dev server listens for incoming traffic
const port = process.env.PORT || process.env.NODE_ENV === 'testing' ? config.test.port : config.dev.port;
enter code here
В dev.env.js:
const merge = require('webpack-merge')
const prodEnv = require('./prod.env')
module.exports = merge(prodEnv, {
NODE_ENV: '"development"'
})
В test.env.js:
const merge = require('webpack-merge')
const devEnv = require('./dev.env')
module.exports = merge(devEnv, {
NODE_ENV: '"testing"'
})
В prod.env.js:
module.exports = {
NODE_ENV: '"production"'
}
В Index.js:
build: {
env: require('./prod.env'),
}
dev: {
env: require('./dev.env'),
port: 7999
}
test: {
env: require('./dev.env'),
port: 7888
}
![enter image description here](https://i.stack.imgur.com/IeI7f.jpg)
Я тоже хочу получить тестовую среду, так как она указывает либо на разработкуили производство.Мне нужно указать файл Lib в зависимости от конкретной среды, в моем случае я не могу указать файл lib на QA, как если бы я использовал 'process.env.NODE_ENV'
, он возвращает либо разработку, либо производство.
Как добавить отдельный профиль для тестирования?Есть ли отдельный способ добиться этого?