1

angular のストーム パスで angular ui ルーターを使用しようとしていますが、不明なプロバイダー エラーが発生し続けます。私のコードは次のとおりです。

var angular = require("angular");

// app.js
var app = angular.module('app', [require('angular-ui-router'), require("stormpath-sdk-angularjs")]);

app.config(function($stateProvider, $urlRouterProvider) {
    $urlRouterProvider.otherwise('/');
    $stateProvider
    .state('home', {
        url: '/',
        templateUrl: 'partials/home.html'
    })
    .state('about', {
        url: '/about',
        templateUrl: 'partials/about.html'
    });
})
.run(function($stormpath){
  $stormpath.uiRouter({
    loginState: 'login',
    defaultPostLoginState: 'home'
  });
});

そして、ここにエラーページがあります。エラー: $injector:unpr Unknown Provider

4

5 に答える 5

0

通常、角度依存関係リストでこのように require() を使用することはありません。むしろ、次のものが必要です。

var app = angular.module('app', ['ui-router','stormpath']);

両方のライブラリが適切に含まれていることを確認してください。

于 2015-11-22T21:25:19.643 に答える
0

結局のところ、stormpath sdk は自分自身を angular に注入します。解決策は、angular の後にライブラリをロードすることです。

var angular = require("angular");
var stormpath = require("stormpath-sdk-angularjs");

var app = angular.module('app', [require('angular-ui-router'), "stormpath", "stormpath.templates"]);

app.config(function($stateProvider, $urlRouterProvider) {
    $urlRouterProvider.otherwise('/');
    $stateProvider
    //States Here
})
.run(function($stormpath){
    $stormpath.uiRouter({
        loginState: 'login',
        defaultPostLoginState: 'home'
    });
});
于 2015-11-23T04:12:38.150 に答える
0

前の答えはおそらく解決策の一部です。おそらく、WebPack などのツールを使用してアプリケーションをコンパイルしていますか? その情報は役に立ちます。Stormpath Angular SDK は、Angular 名前空間で 2 つのモジュールを提供することに注意してstormpathくださいstormpath.templates。browserifyを使用している場合は、使用する必要があるかもしれません require('dist/stormpath-sdk-angularjs.js')

PS 私は Stormpath で働いています。非公開でコードを共有したい場合は、support@ stormpath.comまでお気軽にご連絡ください。ありがとう!

于 2015-11-22T23:44:19.563 に答える