@vasIvas

Как правильно внедрять зависимости в es6?

К AngularJS вплотную подошел впервые и испытываю трудности, почему-то, на каждом шагу.
У меня есть custom-service.js в котором следующий код -
export class CustomService {
	constructor(){

	}
}


Есть директива custom-directive.js -
export function customDirective(/*как мне тут получить CustomService?*/){
	return {
		///...
	};
}

Так же есть app.js -
export const app = angular.module('app', []);

И есть main.js -
import {app} from 'app.js';
import {CustomService} from 'custom-service.js';
import {customDirective} from 'custom-directive.js';

app.service('customService', [CustomService]);
app.directive('customDirective', [customDirective]);

angular.bootstrap(document, [app]);
Как получить 'customService' в customDirective?
И что ещё неправильно? И очень был бы рад получить наставления
по теме избежания проблем при минификации на примере CustomService.

И извиняюсь за темы, которые создаются со скоростью пулемета. Но просто очень хочется побыстрее в этих мелочах разобраться. Пытаюсь и на английском гуглить, но там столько ответов, что выбрав те, которые кажутся самыми разумными, но в следствии оказываются неэффективным, чувство что потерял впустую силы. Часа три не могу найти решения..
  • Вопрос задан
  • 281 просмотр
Решения вопроса 1
Fesor
@Fesor
Full-stack developer (Symfony, Angular)
// custom.directive.js

/** @ngInject */
export default function(customService){
  return {
    ///...
  };
}


// app.module.js
angular
    .module('app')
    .service('customService', require('./custom.service.js'))
    .directive('customDirective', require('./custom.directive.js'))
;


// bootstrap.js
import './app.module';

angular.bootstrap(document, [app]);


я как-то так делаю обычно.

Отдельно об аннотации ngInject - она нужна что бы ng-annotate ну на 100% разобрался что мы хотим туда что-то заинджектить и добавил автоматом свойство $inject с перечислением зависимостей.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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