Я работаю над проектом, который использует "webpack": "^2.4.1",, это проект ReactJS, я установил модуль airbnb/prop-types-exact, я использую этот пакет для целей разработки, где я бы не хотел, чтобы пользователь компонента, который я написал, передавал несуществующие свойства к этому компоненту.
Я хотел бы удалить этот пакет при создании приложения для производства. Я использую Webpack Bundle Initializer, чтобы увидеть размер пакета airbnb/prop-types-exact, он не такой большой, но я бы хотел, чтобы он был удален из производственной сборки. Возможно ли это? С версией webpack, которую я использую, или с последней?
Буду признателен за любые ресурсы или идеи по этому поводу, спасибо.
Да, я установил его в зависимости от разработчика
вопрос для меня не имеет смысла! если вы хотите удалить зависимость в любой сборке, вы не будете импортировать ее, будь то production или dev.





Следуя примеру из этого Блог Марка
И еще ссылки на эти плагины:
Игнорировать плагин и DefinePlugin
Я использовал плагины, как и он, это IgnorePlugin и UglifyJsPlugin, а затем в компоненте, в котором я использую пакет airbnb/prop-types-exact, я проверяю, в какой среде я нахожусь ...
let exactProps ;
if (process.env.NODE_ENV === "development") {
exactProps = require("prop-types-exact");
}
И в зависимости от того, имеет ли exactProps значение, что означает, что функция require была запущена, и, что означает, что exactProps имеет функцию из пакета prop-types-exact,
Я оборачиваю свои типы опор этой функцией, например.
const propTypes = {
someProp: PropTypes.iRequired
}
if (exactProps && typeof exactProps === "function") {
MyComponent.propTypes = exactProps(propTypes);
} else {
MyComponent.propTypes = propTypes;
}
И, наконец, я экспортирую компонент MyComponent
export MyComponent
Я планирую переместить обертку типов опор компонента в общий модуль, чтобы его можно было использовать повторно.
Можете ли вы указать пакет как
devDependencyв вашемpackage.json? docs.npmjs.com/files/package.json#devdependencies