2017-02-27 8 views
2

私は、webpackを実行するLaravel Mixを使って、角型アプリケーションを1つのファイルにコンパイルしようとしています。 webpack.mix.jsLaravel mixとAngulaJs

Uncaught ReferenceError: app is not defined 

const { mix } = require('laravel-mix'); 

mix.js('resources/assets/js/dependencies.js', 'public/js') 
    .sass('resources/assets/sass/app.scss', 'public/css'); 

bundle.js私:

//load angular 
require('angular'); 

//Load Angular's plugins 
require('angular-ui-router'); 

//Init Angular app 
require('./app/app'); 

//Load angular controllers 
require('./app/Controller/aboutController'); 
.... 

//Load angular directive 
require('./app/Directive/directive'); 

//Load angular services 
require('./app/Services/AccountService'); 
.... 

app/app.jsマイ:

var app = angular.module('app', ['ui.router']); 

app.config(['$stateProvider', '$urlRouterProvider', '$locationProvider', function ($stateProvider, $urlRouterProvider, $locationProvider) { 

$urlRouterProvider.otherwise('/home'); 

$stateProvider 
    .state('home', { 
     url: '/home', 
     templateUrl: 'app/View/homeView.html', 
     controller: 'homeController' 
    }) 
    ... 
}]); 


app.run(['$state', '$rootScope', function ($state, $rootScope) { 
    //APP RUN 
}]); 

私はを取得し、私はエラーを取得します私はたとえばapp/Controller/aboutController.jsため、app.controller()呼び出し:

app.controller("aboutController", ['$scope', '$rootScope', '$http', function ($scope, $rootScope, $http) {....} 

私は何かが足りないのですか? htmlを使用してすべてのファイルを1つずつロードすると正常に動作します。

答えて

1

別のファイルにアプリケーションのコントローラを定義している場合、のアプリケーションは参照がないため、直接使用することはできません。まず、モジュールを参照する必要があります。

angular.module('app') 
    .controller('aboutController'.... 

この機能が動作するかどうかをお知らせください。

+1

ありがとうございます。 – paolobasso

関連する問題