2016-06-20 22 views
0

Webappを使用してAngular Appをバンドルしようとしました。私は次のようなエラーに'fn'は角度とWebpackの関数ではありません

Argument 'fn' is not a function, got string

を取得しています必需品が含まれていたとき、私はそれが角度-ルートとは何かだと思うが、私は間違っているだろうかを見ることができます何かを見つけることができません。

次のように私のストリップダウンファイルは、次のとおりです。

./index.html

<!DOCTYPE html> 
    <html lang="en" ng-app="crewGui"> 
    <head> 
     <title>GUI</title> 
     <meta http-equiv="content-type" content="text/html; charset=UTF-8"> 
     <meta name="viewport" content="width=device-width, initial-scale=1"> 
     <link rel="stylesheet" type="text/css" href="css/stylesheets/styles.css"> 

     <script src="js/dist/vendor.bundle.js"></script> 
     <script src="bower_components/Chart.js/Chart.js"></script> 
     <script src="bower_components/angular-chart.js/dist/angular-chart.js"></script> 
     <script src="bower_components/angular-busy/dist/angular-busy.min.js"></script> 

     <script src="js/dist/app.bundle.js"></script> 
    </head> 
    <body class="container-fluid"> 
     <header class="row"> 
      <div class="logo col-xs-6"> 
       <img src="images/logo_alt.png" class="img-responsive" alt"logo"> 
      </div> 
     </header> 
     <div id="content"> 
      <div class="container-fluid"> 
       <ng-view></ng-view> 
      </div> 
     </div> 
     <footer class="row"> 
      <div class="copyright col-xs-12">&copy;</div> 
     </footer> 
    </body> 
</html> 

./module.js

'use strict'; 

var angular = require('angular'); 
var ngRoute = require('angular-route'); 

angular 
    .module('crewGui', [ 
     'ngRoute' 
    ] 
); 

require('./'); 
require('./services'); 
require('./controllers'); 

./index.jsを

'use strict'; 

var angular = require('angular'); 
var ngRoute = require('angular-route'); 

angular 
    .module('crewGui') 
    .config('Config', require('./config')) 
    .run('Run', require('./run')); 

./run.js

'use strict'; 

Run.$inject = ['$http']; 

function Run($http) { 

    $http.defaults.headers.common['Access-Control-Allow-Origin'] = '*'; 
    $http.defaults.headers.common['Access-Control-Allow-Methods'] = 'POST, GET, OPTIONS, PUT'; 
    $http.defaults.headers.common['Content-Type'] = 'application/x-www-form-urlencoded'; 
    $http.defaults.headers.common['Accept'] = 'application/json'; 
    $http.defaults.headers.common.Authorization = "Basic AWORKINGAPIKEY"; 

}; 

module.exports = Run; 

./config.js

'use strict'; 

Config.$inject = ['$routeProvider']; 

function Config($routeProvider) { 

    $routeProvider 
     .when('/', { 
      templateUrl: 'partials/dashboard.html', 
      controller: 'DashboardController', 
      controllerAs: 'dashboard' 
     }) 
     .otherwise({ 
      redirectTo: '/' 
     }); 

}; 

module.exports = Config; 

./services/index.js

'use strict'; 

var angular = require('angular'); 
var ngRoute = require('angular-route'); 

angular 
    .module('crewGui') 
    .service('GetData', require('./get_data_service')); 

./services/get_data_service.js

'use strict'; 

GetData.$inject = ['$http']; 

function GetData($http) { 

    var self = this; 

    self.getData = function() { 
     return $http.get("https://aworkingurl") 
      .success(function (data, status, headers, config) { 
       return data; 
      }) 
      .error (function (data, status, headers, config) { 
       return status; 
      }); 
    }; 

}; 

module.exports = GetData; 

./controllers/index.js

'use strict'; 

var angular = require('angular'); 
var ngRoute = require('angular-route'); 

angular 
    .module('crewGui') 
    .controller('DashboardController', require('./controller_dashboard')); 

./controllers/controller_dashboard.js

'use strict'; 

DashboardController.$inject = ['$scope', 'GetData']; 

function DashboardController($scope, GetData) { 

    var self = this; 

    GetData.getData() 
     .then(function(data){ 
      self.flightData = data.data; 
     }); 

}; 

module.exports = DashboardController; 

どれ建設的な助けが大いに評価されるだろう。あなたが必要なものがあれば教えてください。そして、私はおそらくngRouteを必要とする必要はありません。この時点でわらでつかむ。

多くのありがとうございます。 index.jsで

+0

デバッグツールを使用して、このエラーが発生するコード行を特定しましたか? – MarkoCen

+0

さて、Chrome Consoleでは、vendor.bundle.jsの 'return new ErrorConstructor(message);'の一部として表示されますが、それほど役に立ちません。 Angular errorページには、ngRouteのものが表示されます。 –

答えて

2

行は次のようになりので、「コンフィグ」と「ファイル名を指定して実行」を削除してみてください:

.config(require('./config')) 
.run(require('./run')); 

エラーは、最初の引数は、関数の代わりに、文字列にする必要があることを示唆した:)

+0

それを修正したと思われるFantastic @ G33kCentric!あなたはスターです! –

関連する問題