我正在生产或开发中都正在获取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-server.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
}
我也想获得测试环境,因为它指向开发或生产环境。在我的情况下,我需要根据特定的环境指向Lib文件,我无法将lib文件指向QA,就好像我使用'process.env.NODE_ENV'
一样,它将返回开发或生产环境。
如何添加单独的配置文件进行测试?在那儿 实现此目的的另一种方法?