Установка Angular Материал, "Не удалось создать экземпляр модуля ngMaterial", хотя я использую Angular версия 1.3.0
Это очень разочаровывает, я использую приложение сгенерированное mean.js yeoman и не могу получить доступ к angular. Я прочитал еще один вопрос stackoverflow о проблеме Angularjs с материальным дизайном Не удалось создать экземпляр модуля ngMaterial. Поэтому я обновил файл bower.json и запустил bower update
и bower install
. Он все еще не работает. Во время обновления bower bower дал мне это сообщение Unable to find a suitable version for angular, please choose one:
, но я всегда выбирал Angular версию 1.3.0 и выше.
Heres копия моего 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' недоступен! Вы либо ошибочно написали имя модуля, либо забыли загрузить его. Если регистрация модуля гарантирует, что вы укажете зависимости в качестве второго аргумента.
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
};
})();
Заранее благодарим за помощь!
Ответы
Ответ 1
Angular, ngMaterial
, имеет зависимость от ngAria
и ngAnimate
. Вам нужно будет загрузить их.
angular.module('ngMaterial', ["ng","ngAnimate","ngAria", ...other material sub modules
Вы можете загрузить его из Angular aria и Angular анимации. Используйте их правильную версию на основе версии angular.
Также просто добавить скрипты в проект недостаточно, вам также нужно загрузить их в свой HTML-код. Также загружайте их до ng-material
script.