Webpack: не получается тестирование среды с использованием process.env.NODE_ENV в Webpack - PullRequest
0 голосов
/ 29 сентября 2018

Я получаю 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

Я тоже хочу получить тестовую среду, так как она указывает либо на разработкуили производство.Мне нужно указать файл Lib в зависимости от конкретной среды, в моем случае я не могу указать файл lib на QA, как если бы я использовал 'process.env.NODE_ENV', он возвращает либо разработку, либо производство.

Как добавить отдельный профиль для тестирования?Есть ли отдельный способ добиться этого?

...