Я работаю над проектом Ruby/React. Мы используем Реагировать компоненты и CoffeeScript и окончательный JS собран Звездочкой:Рекомендации по импорту глубоко вложенных компонентов Javascript
#= require org/components/whatever
{ Whatever } = Org.Components
Это хорошо, когда есть не слишком много вложенности, а затем вы wrtiting что-то вроде этого:
#= require org/components/whatever
#= require org/components/something/else/whatever
{ Whatever1 } = Org.Components
{ Whatever2 } = Org.Components.Something.Else
Сегодня я пытался найти, где используется Org.Components.Image.Upload
. Но иногда он импортируется как { Upload }
или используется как Image.Upload
, и это не облегчает задачу.
Теперь я думаю, возможно, не идти дальше, чем Org.Components
для импорта. Поэтому, если вам нужно Image.Upload
- получите { Image } = Org.Components
и используйте Image.Upload
. Если он слишком длинный - назначьте переменную.
#= require org/components/image
{Image} = Org.Components
Upload = Image.Super.Complex.Upload
# Or use it like this for explicitness
render: ->
Image.Super.Complex.Upload
Какова наилучшая практика здесь? Я хочу, чтобы код был доступен для поиска.
Локальных ссылки на объекты могут помочь уменьшить время поиска, что то, что кажется, что вы делаете, но если он организован, то _Dependency Декларация Pattern_ может быть очень полезным и удобно. – ZachPerkitny
Обычно я использую этот метод при работе с глубоко вложенными объектами. – ZachPerkitny
Я не думаю, что есть лучшая практика. Но вы, конечно же, не должны смешивать их, используйте * либо * destructuring *, либо * назначение переменной. – Bergi