简体   繁体   中英

Angular and angular-material [$injector:modulerr]

I just started to learn angular, and I`ve created a basic app with angular-material. But I have an error:

[$injector:modulerr]

My html:

<html>
<head>
...

    <script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular.min.js"></script>
    <script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular-route.js"></script>
    <script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular-animate.min.js"></script>
    <script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular-aria.min.js"></script>
    <script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular-messages.min.js"></script>

    <script src="http://ajax.googleapis.com/ajax/libs/angular_material/1.0.0/angular-material.min.js"></script>

    <script src="assets/javascripts/app.js"></script>
    </body>
</html>

In app.js I have this:

var app = angular.module('angularTest', ['ngMaterial', 'ngRoute'])
      .config(function($mdThemingProvider) {
        $mdThemingProvider.theme('default')
        .primaryPalette('pink')
        .accentPalette('orange');
    });

If I remove script tag with app.js, and replace with <script> var app = ...</script> then it works. :(

Does anyone have a solution? Thanks a lot!

Please check your code, maybe share a plnkr link of it breaking.

There were a few things that were missing in your code snippet (including a closing head, a body start, the ng-app tag and more), which I'm assuming is in the ... section

I created a plnkr with what you had mentioned, and it seems to be working correctly:

<html>
<head></head>
<body ng-app="angularTest">

{{1+2}}

<script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular.min.js"></script>
<script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular-route.js"></script>
<script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular-animate.min.js"></script>
<script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular-aria.min.js"></script>
<script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular-messages.min.js"></script>

<script src="http://ajax.googleapis.com/ajax/libs/angular_material/1.0.0/angular-material.min.js"></script>

<script src="script.js"></script>
</body>

This correctly loads, and shows 3 in the browser when opened. Plnkr link

You must initialize the angular app on your html page. I can see in the snippets that the app is not intialized. Here is the code which will help you -:

<html ng-app="angularTest">
 <body>...</body>
</html>

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM