Я использую набор стартеров для углового. Есть webpack, eslint и другие полезные вещи.
Но я не понимаю, как работать с зависимостью. У меня есть следующий код:
import angular from 'angular';
import routing from './app.config';
import auth0 from 'auth0-js';
import jwtHelper from 'angular-jwt';
import store from 'angular-storage';
...
angular.module('app', [
uirouter,
...
jwtHelper,
store,
...
])
.config(routing)
.run(($state, auth, store, jwtHelper) => {
some code;
});
Но я получаю следующие ошибки:
99:16 ошибка 'auth' уже объявлена в верхней области no-shadow
99:22 Ошибка "store" уже объявлена в верхней области no-shadow
99:29 Ошибка 'jwtHelper' уже объявлена в верхней области no-shadow
Горячо использовать их правильно?
Просто переименуйте одну из дублированных объявленных переменных, чтобы ваша область не загромождала.
Вы можете либо переименовать верхнюю часть
import angularJwt from 'angular-jwt';
import angularStorage from 'angular-storage';
или просто переименуйте зависимости, например: (и сохраните исходные имена в объявлении $inject
)
routing.$inject = ['$urlRouterProvider', '$locationProvider', 'localStorageServiceProvider'];
export default function routing($urlRouterProviderCustomName, $locationProviderCustomName, localStorageServiceProviderCustomName) {
$locationProviderCustomName.html5Mode(true);
$urlRouterProviderCustomName.otherwise('/dash');
localStorageServiceProviderCustomName.setPrefix('elmahbucket');
}