Я хотел бы иметь возможность поставлять как версию для разработчиков, так и рабочую версию модуля ES, и загружать соответствующую версию на основе NODE_ENV
. Я хочу предоставлять предупреждения, уведомления и другие тонкости опыта разработчика в сборках dev, но удаляю их в производственных сборках.
Глядя на React, модуль Common JS, вы увидите такой шаблон:
if (process.env.NODE_ENV === 'production') {
module.exports = require('./cjs/react.production.min.js');
} else {
module.exports = require('./cjs/react.development.js');
}
Это невозможно с ESM, поскольку операторы import/export
должны находиться на верхнем уровне скрипта. У Webpack есть концепция mainFields , так что вы можете указать что-то вроде module:dev
и указать эту точку для сборки dev ESM, но это не сработает из коробки.
Есть ли шаблон для загрузки сборки разработки модуля ES с помощью Webpack?