升级Angular版本

时间:2014-04-24 14:43:15

标签: angularjs angularjs-directive requirejs angularjs-ng-repeat

我有一个使用angular v1.1.5的Web应用程序,我正在尝试将其更新为v.1.2.9。

我已经下载了v1.2.9和相应的route.js文件但是在尝试运行我的应用程序时,我看到了以下内容:

Error: [$injector:modulerr] http://errors.angularjs.org/1.2.9/$injector/modulerr?p0=app&p1=%5B%24injector%3Amodulerr%5D%20http%3A%2F%2Ferrors.angularjs.org%2F1.2.9%2F%24injector%2Fmodulerr%3Fp0%3DngRoute%26p1

main.js:

(function(require) {
'use strict';

require.config({
    baseUrl: '/resources/js',
    paths: {
        'zepto'     : 'vendor/zepto',
        'jquery'    : 'vendor/jquery',
        'angular'   : 'vendor/angular',         
        'ngRoute'   : 'vendor/route',
        // 'ngResource': 'vendor/resource',
        'router'    : 'vendor/page',
        'history'   : 'vendor/history.iegte8',
        'event'     : 'vendor/eventemitter2'
    },
    shim: {
        'zepto'     : { exports: '$' },         
        'angular'   : { deps: ['jquery'], exports: 'angular' },
        'ngRoute'   : { deps: ['angular'], exports: 'angular' },
        // 'ngResource': { deps: ['angular'], exports: 'angular' },
        'app'       : { deps: ['angular'] },
        'router'    : { exports: 'page'}            
    }
});

require(['angular', 'app'], function (angular, app) {
    angular.bootstrap(document,['app']);
});

})(this.require);

app.js:

define("app", ["angular"], function(angular){

var app = angular.module("app", ['ngRoute']);

app.config(function($routeProvider, $locationProvider){
    $routeProvider
        .when("/home", {
            templateUrl: "home.html",
            controller: "HomeController"
        })
        .when("/products", {
            templateUrl: "products.html",
            controller: "ProductsController"
        })

        .otherwise({ redirectTo: '/products'});
});

return app;
});

任何建议表示赞赏。

更新******************************************* ***

如果我改变(app.js):

define("app", ["angular"], function(angular){

为:

define("app", ["angular", "ngRoute"], function(angular){

我收到以下错误:

TypeError: e is undefined   

...controller,f),b.controllerAs&&(a[b.controllerAs]=f),c.data("$ngControllerControl...

1 个答案:

答案 0 :(得分:1)

我不熟悉require.js,但你不需要在这里注入它吗?

require(['angular', 'ngRoute', 'app'], function (angular, app, ngRoute) {
    angular.bootstrap(document,['app', 'ngRoute']);
});

虽然我可能会在这里深水。