Вынесение констант actions в отдельный файл

122
15 августа 2019, 14:50

Разбираю тему модульности в vuex на примере приложения с аутентификацией (статья, репозиторий на гитхабе), переписываю с нуля по-своему, сравниваю полученный код. Возник вопрос.

Когда я создавал модуль auth то закинул всё относящееся к этому модулю в файл \store\modules\auth.js

Когда я начал сравнивать с кодом приложения - увидел, что в нём разделено на два файла: один как у меня, а второй — \store\actions\auth.js

В нём только определено несколько констант:

export const AUTH_REQUEST = 'AUTH_REQUEST'
export const AUTH_SUCCESS = 'AUTH_SUCCESS'
export const AUTH_ERROR = 'AUTH_ERROR'
export const AUTH_LOGOUT = 'AUTH_LOGOUT'

Вот мне непонятно, что даёт такое разбиение на два файла в плане структуры приложения? В статье этот момент не описывается, видимо подразумевается, как очевидный. В офдоке же такой приём не используется.

У меня самого два предположения:

  • Вероятно, это как-то может упрощать рефакторинг наименований методов (не уверен, но вообще-то это задача IDE и по идее vscode должна уметь нормально обрабатывать подобные ситуации - когда я в visual code + resharper переименовываю метод, то никаких дополнительных подсказок IDE не нужно)
  • Это так явно вынесено описание возможных переходов между состояниями конечного автомата (тоже не уверен: тогда логичнее было бы использовать enum)

Понимаю, что в вопросе есть некоторая толика неоднозначности ("перефразируйте вопрос чтобы можно было дать однозначно правильный ответ"), но возможно, что это какой-то конкретный типовой ход, который широко используется и я просто ещё не сталкивался.

READ ALSO
TypeScript не поддерживает import js файлов?

TypeScript не поддерживает import js файлов?

Вот такая вот штука - воспользовался TypeScript-Babel-Starter, Все шло хорошо, пока не появилась необходимость заimportмить js класс

109
Не срабатывает касание с первого раза на телефоне

Не срабатывает касание с первого раза на телефоне

Не сайте меню открывается при клике и наведении, за это отвечает этот код, на компе всё работает, на телефоне не срабатывает при первом касании,...

101
В компоненте react не обновляются input

В компоненте react не обновляются input

Реализую CRUD приложениеДобавление и удаление реализовал

129
Как выделить все нужные файлы для гита? VUE JS

Как выделить все нужные файлы для гита? VUE JS

Раньше работал с Java и при средних проектах делал команду git add или вручную выделял классы и пушилВот с Vue js думаю как сделать потому что тут...

114