0

我在我的应用程序中使用 ionic.bundle.js 和 ngcordova.js。我正在使用 require js 来加载上述库。

我收到以下错误“未捕获的 ReferenceError:未定义角度”,

以下是代码: main.js

 require.config({
      paths: {
          'ionic': '/lib/ionic/js/ionic.bundle',
          'ngCordova' : '/lib/ng-cordova',

      },
      shim: {
          ngcordova: {
            deps: ['ionic']
          }
      },
     // baseUrl: '/app'
    });

require(['app'], function (app) {
  app.init();
});

应用程序.js

define(['ionic', 'ngCordova'], function (ionic, ngCordova) {
    //'use strict';

    //var ionic = require('ionic');
    //var ngcordova = require('ngCordova');

    var appModule = angular.module("ePharma", ["ngCordova", "ionic"]);


    appModule.init = function () {
        alert("hi");
        angular.bootstrap(document, ['ePharma']);
    };

    return appModule;
});
4

2 回答 2

0

您需要在垫片中导出角度。

shim: {
    'ionic': { exports: ['angular'] }
}
于 2015-02-13T08:02:37.887 回答
0

当我在 Ionic 论坛上找到此链接时,我正在寻找使用 Ionic 和 RequireJS 的相同方法:Ionic and AngularJS dependency

在那里,@bengtler 解释说他不使用 bundle js 文件,而是使用分离的 ionic 和 angular 文件,您可以在http://code.ionicframework.com获得这些文件并在 require.js 配置中填充它们。

这是配置的样子:

require.config({
baseUrl: 'app',
paths: {
    'angular': '../lib/angular.min',
    'angular_ionic': '../lib/ionic-angular.min'
    ...
},
shim: {
    'angular' : { 'exports' : 'angular' },
    'angular_ionic': [...]
},
priority: [
    'angular',
    'angular-ionic'
],
callback: function () {
    'use strict';

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

我也刚刚在那里问他这种方法是否仍然是他正在使用的方法,以及自 2014 年以来他将做出哪些改变。你可能已经找到了解决方案,但看到更多关于它的意见总是好的。

于 2016-05-10T16:52:37.770 回答