Почему lodash get возвращает неопределенное значение для вложенного объекта в сборке реагирования? - PullRequest
0 голосов
/ 05 октября 2019

На самом деле, я знаю, что мой вопрос странный, но действительно смутил меня. Функции lodash великолепны, и их использование является безопасным способом создания безопасного и чистого кода, но в моем реактивном проекте, когда я использую get функцию lodash, в среде разработки она работает хорошо, как ожидал каждый разработчик.

import get from 'lodash/get';

const hostname = get(window, 'location.hostname');
// => returns the current hostname

Но после того, как я запустил yarn build && yarn start, чтобы создать производственную сборку моего приложения ReactJS и запустить его, его поведение изменилось и вернуло undefined.

import get from 'lodash/get';

const hostname = get(window, 'location.hostname');
// => returns undefined

Такв производственной сборке я пытаюсь get(window, 'location'), и он возвращает объект location. но когда я помещаю ключ местоположения, функция lodash get возвращает undefined.

На самом деле, в производственном процессе и только для вложенного он возвращает неопределенное

Из-зана этот вопрос я только что нашел этот пост , но никто не ответил на него.

1 Ответ

0 голосов
/ 06 октября 2019

Согласно этому комментарию Я увлекся тестированием своей производственной сборки. Итак, я перечислил все, что происходит в производственной сборке моего проекта, что, возможно, вызывает эту проблему.

Сначала я сомневался в том, чтобы добавлять в плагин плагины, которые я использовал для транспорта, но ни один из них не влияет только на работу, онивлияет на целые среды.

И наконец, я нахожу LodashModuleReplacementPlugin . этот плагин вызывает эту проблему.

В зависимости от документа:

Поддержка глубокого пути к свойствам для таких методов, как _.get, _.has, & _.set.

Этот плагин пропускает поддержку глубокого пути в lodash get. В этом суть .

...