Столкновение с вопросом проверки формы дизайна на производстве
По сути, недавно я столкнулся с проблемой формы ant-design в моей производственной среде, ранее она работала, как и ожидалось. Проверка работает только при запуске NPM start
Команда на моем местном. Если я использую NPM Build: serve
затем столкнулся с той же проблемой на моем местном.
Отображение этой ошибки на консоли при выполнении задачи проверки.
Uncaught TypeError: Невозможно прочитать свойство 'push' из undefined в createBaseForm.js:369
Я попытался обновить все свои пакеты NPM вместе с mn NPM и версией узла, после того, как столкнулся с этой проблемой.
<FormItem>
{getFieldDecorator('userName', {
rules: [{ required: true, message: 'Please input username!' }],
})(<Input addonBefore={<i className="iconfont icon-user" />}
size="large" placeholder="Username" />
)}
</FormItem>
Это не показывает мне сообщение об ошибке, которое используется в правилах.
1 ответ
В моем случае ошибка была вызвана lodash.memoize
а также lodash.paths
не загружается в сборку webpack, как я использовал lodash-webpack-plugin
уменьшить размер пачки.
Функции Lodash удалены по умолчанию: ссылка
Решением было выбрать нужные функции.
new LodashModuleReplacementPlugin({
'memoizing': true,
'paths': true
});
Редактировать: antd
использует rc-form
который в свою очередь использует lodash
устанавливать ошибки.