@GunAlv

Как правильно импортировать ReactDOM?

Использую BundleAnalyzerPlugin, в production-код попадает жирный react-dom.development (импортированный в entry-файле app.js):
import ReactDOM from 'react-dom';
602a337bda6c5207290052.png тогда как есть возможность импорта соответствующей сборки кода. 602a338939fbf397762238.png Как это сделать?
  • Вопрос задан
  • 177 просмотров
Решения вопроса 1
@GunAlv Автор вопроса
Проблема оказалась простой.
В node_modules/react-dom/index.js вполне ожидаемо есть проверка на режим сборки:

if (process.env.NODE_ENV === 'production') {
  // DCE check should happen before ReactDOM bundle executes so that
  // DevTools can report bad minification during injection.
  checkDCE();
  module.exports = require('./cjs/react-dom.production.min.js');
} else {
  module.exports = require('./cjs/react-dom.development.js');
}


Проблема была в том, что в директориях помимо конфигных (той, в которой лежат настройки для webpack), переменная process.env.NODE_ENV не определялась, возможно, потому что режим задавался только в package.json:

"build": "cross-env NODE_ENV=production webpack --config ./config/base.config.js",


Решилось добавлением плагина
new webpack.DefinePlugin({
  'process.env.NODE_ENV': JSON.stringify(process.env.NODE_ENV),
});
в сборку.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы