@vasIvas

Чем обычная разработка клиента отличается от разработки на AngularJS?

В прошлый раз мне посоветовали для приложения на angularjs использовать babel + es6-loader + systemjs.
Я установил, сделал и забыл. Затем мне пришлось сделать маленькую поделку на чистом js без использования angularjs и я выбрал для этого requirejs. Один вопрос у меня возник, но пока ждал ответа, сообразил сам. Но в основном справился быстро.
Но в этой теме мне опять посоветовали вернуться к es6 и я недолго думав, начал с чистого листа и вернул уже знакомую связку babel + es6 + system, только уже без angularjs.

И так я со вчерашнего дня и мучаюсь. Теперь почему-то в файл systemfile не достаточно просто импортировать точку входа main.js, теперь туда приходит промис. И main теперь нужно экспортировать и если просто написать export, то main функция будет доступна по target из then, как target.main. А если сделать экспорт по дефолту, то target.default.main.
Если я пытаюсь что-то импортировать в main, то на этом все и останавливается ошибкой -
TypeError: Invalid anonymous System.register module load. If loading a single module, ensure anonymous System.register is loaded via System.import. If loading a bundle, ensure all the System.register calls are named.


Это так и должно быть? то есть без angularjs так всегда? Или это ненормально и нужно искать причину?
Разница с прошлым опытом лишь в angular и что вместо browser-sync expressjs..
  • Вопрос задан
  • 282 просмотра
Решения вопроса 1
Fesor
@Fesor
Full-stack developer (Symfony, Angular)
разница в том что у angular есть:
- своя система модулей с лэйзи инициализацией (плевать на порядок загрузки, если все быстро догрузилось)
- глобальная функция angular.bootstrap которая вызывается по ресолву промиса, в вашем же случае вам надо достать загруженную функцию и вызвать руками.

Как-то так. Ангуляр берет небольшую часть нудного бойлерплейта на себя.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы