У меня есть проект по переходу с устаревшего приложения React на стандартное create-react-app
(не извлеченное).
В устаревшем проекте он вручную загружает .env
файлы с dotenv
и dotenv-expand
и внедряет через веб-пакет DefinePlugin
.
create-react-app
интуитивно поддерживает dotenv
, но может распознавать только переменные с префиксом REACT_APP_
.
В унаследованном коде так много мест, а также импортированных пакетов в других репозиториях, которые используют process.env.xxx
переменные, поэтому сейчас невозможно переименовать их с префиксом перед миграцией.
В этом случае, как я могу заставить create-react-app
распознавать переменные dotenv без префикса REACT_APP_
?
Кстати, раньше я пытался rewire
построить скрипт с некоторыми простыми настройками через webpack, например, с объединением js и css:
const path = require('path');
const rewire = require('rewire');
const defaults = rewire('react-scripts/scripts/build.js');
let webpackConfig = defaults.__get__('config');
webpackConfig.output.filename = 'static/js/[name].js';
webpackConfig.optimization.splitChunks = { cacheGroups: { default: false } };
webpackConfig.optimization.runtimeChunk = false;
webpackConfig.plugins.find(plugin => plugin.__proto__.constructor.name === 'MiniCssExtractPlugin').options.filename = 'static/css/[name].css';
webpackConfig.plugins.find(plugin => plugin.__proto__.constructor.name === 'MiniCssExtractPlugin').options.moduleFilename = () => 'static/css/[name].css';
Но кажется, что dotenv
и DefinePlugin
сложнее. Не уверен, можно ли этого добиться таким же образом.
FOO=bar
иREACT_APP_FOO=bar
) - person sloppypasta   schedule 23.04.2020REACT_APP_
невозможно. - person felixmosh   schedule 24.04.2020