Razbezhkin
@Razbezhkin
программист, преподаватель

Как эффективно разрабатывать код на javascript?

Здравствуйте!
опытные и эффективные программисты на javascript, поделитесь своим опытом.

У меня код определен в нескольких модулях javascript:
есть clientApi.js, в котором определены функции, использующие axios для взаимодействия с сервером,
есть store,js, в котором определены мутации, действия и состояние vuex, и который вызывает функции из clientApi.js,
есть vue-компоненты, которые имеют свои собственные методы, вызывающие действия vuex.

при работе кода получается цепочка вызовов: компонент -> store.js -> clientApi.js.
каждый модуль импортирует код используемого модуля.
как мне в консоли google chrome отдельно подергать методы каждого модуля? у меня они почему то оказываются неопределенными (в консоли), хотя код исправно работает и если втыкать debugger; в каждую отдельную функцию, то в этом прерывании я могу видеть все переменные.

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

как ведут разработку опытные, эффективные javascript (front-end) программисты?
что делать мне, чтобы программировать клиента эффективно? нужно привыкнуть (натренироваться) быстро делать цепочки кода или все такие есть какой-то способ разработки на javascript по кусочкам: написал, отладил (еще бы unit-test сделать)?

P.S. я программирую на c# довольно давно и использую следующий подход: разрабатываю функционал, пишу юнит тесты, в процессе разработки многократно запускаю юнит-тесты в отладке, смотрю как работает код, вношу изменения и т.д. затем перехожу к другому компоненту и т.д, потом объединяю компоненты, пишу интеграционные тесты, запускаю, проверяю и получается, что каждый кусочек и система в целом работает и остается стабильной. можно ли (и если можно, то как) использовать такой-же подход в javascript?
  • Вопрос задан
  • 738 просмотров
Решения вопроса 1
@afanasiyz
Javascript-разработчик
В консоли - никак, если не исхитряться. код, после окончания работы сборщиков, полностью инкапсулируется.
Вы можете, на время разработки, добавлять эти методы в объект window, если очень хочется дергать эти функции вручную из консоли (потом не забудьте удалить)
file - development_test.js
import * as api from './api/clientApi.js';
window.api = api;

Этот тестовый файл просто импортите в корень проекта, получаете возможность дергать window.api[api_method] из консоли.

Ну а вообще - юнит тесты удобнее всего писать на части системы
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
xmoonlight
@xmoonlight
https://sitecoder.blogspot.com
Я разрабатываю тоже модульно, но пишу на чистом JS.
Использую для рекурсивной "склейки" HTML/JS/CSS либу функцию includeHTML.
<div data-src="js/module123.js"></div>
Или тоже, но с помощью JS:
includeHTML('js/module123.js');
Ответ написан
Комментировать
Razbezhkin
@Razbezhkin Автор вопроса
программист, преподаватель
есть, вроде бы возможность запускать функции js в среде nodejs, и как-то прикрутить к этому делу отладчик, видимо буду копать в этом направлении, если вам знакомы такие подходы, поделитесь, пожалуйста.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы