Перестаньте включать версию для разработчиков в комплект поставки browserify - PullRequest
0 голосов
/ 30 августа 2018

Browserify объединяет в моей комплектации browserify как производственную, так и разрабатываемую версии реакции и реагирования, что делает его намного больше, чем должно быть. Простой воспроизводимый пример:

main.js:

var React = require('react');
var ReactDOM = require('react-dom');

ReactDOM.render(
    React.createElement('h1', null, 'Hello Planet'),
    document.getElementById('root')
);
// To simplify the workflow, this example does not use JSX or ES2015.

index.html:

<!DOCTYPE html>
<html>
  <head>
    <title>Page</title>
    <meta charset="utf-8">
  </head>
  <body>
    <div id="root"></div>
    <script src="_build/main.js"></script>
  </body>
</html>

Чтобы построить main.js, я запустил эту команду:

NODE_ENV=production browserify --full-paths main.js -o _build/main.js

Полученный размер пакета составляет 786 КБ. Анализ пакета с использованием диска показывает, что в пакет включены как react-dom.development.js (610,9 КБ), так и react-dom.production.min.js (92,5 КБ). То же самое касается react.development.js (48,4 кб) и react.production.min.js (5,4 кб), оба из которых включены в комплект.

Таким образом, вопрос заключается в следующем: поскольку разрабатываемые версии реагировать и реагировать не являются необходимыми компонентами пакета, как версии разработки не могут быть включены в первую очередь? Как можно дать команду browserify объединять только рабочие версии реагировать и реагировать?

...