«что-то» уже объявлено в верхней области видимости

0

Я использую набор стартеров для углового. Есть 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

Горячо использовать их правильно?

Теги:

1 ответ

1

Просто переименуйте одну из дублированных объявленных переменных, чтобы ваша область не загромождала.

Вы можете либо переименовать верхнюю часть

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');
}
  • 0
    Эти две проблемы не связаны друг с другом.
  • 0
    Вы спросили: 1. «что-то» уже объявлено в верхней области 2. Горячий, чтобы правильно их использовать?
Показать ещё 3 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню