Столкновение с вопросом проверки формы дизайна на производстве

По сути, недавно я столкнулся с проблемой формы 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 устанавливать ошибки.

Другие вопросы по тегам