'smth'已在上限范围内声明

时间:2016-08-19 13:09:50

标签: angularjs

我正在使用一些角度的入门套件。有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'已在上限范围内声明无阴影
   99:22错误'store'已在上限范围no-shadow中声明   99:29错误'jwtHelper'已在上限范围no-shadow

中声明

热门正确使用它们吗?

1 个答案:

答案 0 :(得分: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');
}