web-dev-qa-db-ja.com

Angular Material、「ngMaterialモジュールのインスタンス化に失敗しました」」をインストールしているのにangularバージョン1.3.0

これは非常にイライラさせられます。私はmean.jsのヨーマン生成アプリケーションを使用しており、アンギュラーマテリアルを起動して実行しているように見えません。私は問題に関する別のstackoverflowの質問を読みました 材料設計のAngularjsはモジュールngMaterialのインスタンス化に失敗しました 。だから、bower.jsonファイルを更新し、bower updateおよびbower install。それでも動作しません。バウアーの更新中に、バウアーはこのメッセージをくれましたUnable to find a suitable version for angular, please choose one:、しかし、私は常にAngularバージョン1.3.0以降を選択しました。
こちらは私のbower.jsonのコピーです。

{
  "name": "colign",
  "version": "0.0.1",
  "description": "Full-Stack JavaScript with MongoDB, Express, AngularJS, and Node.js",
  "dependencies": {
    "bootstrap": "~3",
    "angular": "~1.3",
    "angular-resource": "~1.3",
    "angular-mocks": "~1.3",
    "angular-bootstrap": "~0.11.2",
    "angular-ui-utils": "~0.1.1",
    "angular-ui-router": "~0.2.11",
    "angular-material": "~0.10.0"
  }
}

コンソールエラーメッセージ:エラー:[$ injector:modulerr]が原因でモジュールngMaterialのインスタンス化に失敗しました:エラー:[$ injector:nomod]モジュール 'ngMaterial'は使用できません!モジュール名のスペルを間違えたか、モジュールのロードを忘れました。モジュールを登録する場合は、必ず依存関係を2番目の引数として指定してください。

Angular config.jsファイル:

'use strict';

// Init the application configuration module for AngularJS application
var ApplicationConfiguration = (function() {
    // Init module configuration options
    var applicationModuleName = 'colign';
    var applicationModuleVendorDependencies = ['ngResource', 'ui.router', 'ui.bootstrap', 'ui.utils', 'ngMaterial'];

    // Add a new vertical module
    var registerModule = function(moduleName, dependencies) {
        // Create angular module
        angular.module(moduleName, dependencies || []);

        // Add the module to the AngularJS configuration file
        angular.module(applicationModuleName).requires.Push(moduleName);
    };

    return {
        applicationModuleName: applicationModuleName,
        applicationModuleVendorDependencies: applicationModuleVendorDependencies,
        registerModule: registerModule
    };
})();

助けてくれてありがとう!

16
Daniel Kobe

角度材料ngMaterialは、ngAriaおよびngAnimateにも依存しています。それらをロードする必要があります。

angular.module('ngMaterial', ["ng","ngAnimate","ngAria", ...other material sub modules

angular aria および angular animate からダウンロードできます。 angular version。に基づいて、これらの正しいバージョンを使用してください。

また、プロジェクトにスクリプトを追加するだけでは、HTMLにスクリプトをロードする必要はありません。また、ng-materialスクリプトの前にロードします。

35
PSL