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



@GunAlv

Использую BundleAnalyzerPlugin, в production-код попадает жирный react-dom.development (импортированный в entry-файле app.js):
import ReactDOM from 'react-dom';
602a337bda6c5207290052.png тогда как есть возможность импорта соответствующего сборке кода. 602a338939fbf397762238.png Подскажите, пожалуйста, как это сделать?


Решения вопроса 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),
});

в сборку.

Комментировать

Ответы на вопрос 0

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *