1
私は、RequireJSを使用するdemoAppにToasterを実装する際に問題があります。ここではいくつかのコード:RequireJS&Toaster
(function() {
require.config({
paths: {
'angular': 'bower_components/angular/angular',
'jquery': 'bower_components/jquery/dist/jquery',
'toaster': 'bower_components/toaster/toaster'
},
shim: {
angular: {
deps: ['jquery'],
exports: 'angular'
},
toaster: {
deps: ['angular', 'jquery'],
exports: 'toaster'
}
}
});
require([
'angular',
'app',
'toaster',
'jquery'
],
function (angular, app, toaster) {
'use strict';
// toaster is undefined. I add it here just for a check. <<<<<<
angular.bootstrap(angular.element('body')[0], ['myApp']);
});
})();
これはmain.jsで、トースターは、私が終わり近くにコメントを書き込みましたundefined
です。ファイルは、コンソールの[Sources]タブで確認できるように読み込まれます。 さらに、toaster
を使用したい場合は、undefined
です。ここでは、同じデモアプリケーションからいくつかのコード:
最初のケース:
define(['somefile', 'toaster'], function (someModule, toaster) {
'use strict';
// toaster is undefined
});
セカンドケース(John Papa Angular Style Guide):
define(['somefile', 'toaster'], function (someModule) {
'use strict';
someModule.controller('NewController', NewController);
NewController.$inject = ['someDeps', 'toaster'];
function NewController(someDeps, toaster) {
// angular.js:13424 Error: [$injector:unpr]
// Unknown provider: toasterProvider <- toaster <- NewController
}
});
はここで私が使用しているものです:
Angular: 1.5.3
RequireJs: 2.2.0
Toaster: 2.0.0
誰かが私が間違っていることを教えてもらえますか?
私はこれを試してみて、できるだけ早く私はできる限りお答えします、ありがとう。 –
期待どおりに動作します。 –