使用require js进行离子束库加载和ngcordova库加载的问题

时间:2015-01-07 07:42:50

标签: cordova requirejs ionic

我在我的应用程序中使用了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();
});

app.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;
});

2 个答案:

答案 0 :(得分:0)

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

shim: {
    'ionic': { exports: ['angular'] }
}

答案 1 :(得分:0)

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

在那里,@ bengtler解释说他不使用bundle js文件,而是使用你可以在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年开始的一个主题,他今天会做出什么样的改变。 您可能已经找到了解决方案,但总是很高兴看到更多关于它的意见。