Адрес модуля emptyObject
, к которому относится Реагирование, является https://github.com/facebook/fbjs/blob/master/packages/fbjs/src/core/emptyObject.js#L9. Обратите внимание, что он не следует системе модулей CommonJS.
Чтобы Facebook мог делиться и использовать собственный JavaScript. В первую очередь это позволит нам отправлять код, не беспокоясь слишком много о том, где он живет, в соответствии с духом @providesModule, но работая в более широкой экосистеме JavaScript.
От https://github.com/facebook/fbjs#purpose
Способ определения модуля путем добавления @providesModule
в заголовке лицензии и загрузки этих модулей с require
в узле называется Спешка, настроенная модульная система построена для проектов с открытым исходным кодом Facebook.
Фактически, если вы не хотите понимать внутреннюю работу Реагента или вносить вклад в проекты с открытым исходным кодом Facebook, вам не нужно это знать. Другими словами, не рекомендуется использовать Haste для написания собственного проекта.
В том же ключе, модуль invariant
загружается в строке 10 из ReactClass.js
объявлен в https://github.com/facebook/fbjs/blob/master/packages/fbjs/src/__forks__/invariant.js#L9
Насколько я знаю, как Eclipse, и WebStorm не поддерживают Haste так IDE не может помочь. Но с поспешностью, имя файла и модуля должны быть одинаковыми, так что вы можете найти модуль с помощью функции поиска по имени файла, то есть двойной сдвиг в WebStorm и Ctrl + Сдвиг + г в Eclipse. Тем не менее, emptyObject
, о которых вы спрашивали или invariant
, не являются частью Реакта, поэтому все еще громоздко, чтобы найти их происхождение.
В противном случае существует команда, которая делится и организует то, что они изучают, из-за взлома. Реагирует, что я иногда вношу свой вклад, и они связали те require
s, указав Ускорение на соответствующий файл источника, например. https://annot.io/github.com/facebook/react/blob/cc3dc21/src/isomorphic/classic/class/ReactClass.js?l=19 Возможно, вы захотите это увидеть.
Подробнее о Haste см. В https://facebook.github.io/react/contributing/codebase-overview.html#custom-module-system –
Я не использую ни одну из этих IDE, но я полагаю, что 'find'ing внутри facebook/fbjs dir будет делать? Ссылка annot.io интересна. Благодарю. – omul
Это может раздражать работу с динамическим языком, таким как JavaScript без интегрированной среды разработки, особенно в проектах с подобными facebookisms. Что вы тогда используете? –