@nsmp/js-api
Version:
Types for jsApi
40 lines (33 loc) • 1.69 kB
JavaScript
const Dotenv = require('dotenv-webpack');
const path = require('path');
const startServer = require('./startServer');
const yargs = require('yargs');
const {hideBin} = require('yargs/helpers');
const argv = yargs(hideBin(process.argv)).argv;
// Получение файла dev.env из основного приложения
const envPath = path.resolve(process.cwd(), argv.env || './dev.env');
// Получение файла config для webpack из основного приложения
const webpackConfigPath = path.resolve(process.cwd(), argv.config || './webpack/config.js');
const webpackConfig = require(webpackConfigPath);
// Инициализация переменных окружения из файла dev.env для того, чтобы их можно было использовать во время выполнения скриптов
require('dotenv').config({path: envPath});
// Настройка webpack сервера, исходя из настроек вебпака основного приложения + настройки для проксирования запросов.
// Также настройка плагинов на использование переменных окружения во время выполнения приложения в dev режиме.
const webpackConfigWithProxy = {
...webpackConfig,
devServer: {
...webpackConfig.devServer,
proxy: {
[`/sd/services/${process.env.REST_PATH}/*`]: {
changeOrigin: true,
target: process.env.APP_URL
}
}
},
plugins: [
...webpackConfig.plugins,
new Dotenv({path: envPath})
]
};
startServer(webpackConfigWithProxy);