Laravel 混合 AngularJs
Laravel mix and AngularJs
我正在尝试使用运行 webpack 的 Laravel Mix 将 angular 应用程序编译成一个文件。我收到错误:
Uncaught ReferenceError: app is not defined
我的webpack.mix.js
:
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()
时得到 Uncaught ReferenceError: app is not defined
,例如 app/Controller/aboutController.js
:
app.controller("aboutController", ['$scope', '$rootScope', '$http', function ($scope, $rootScope, $http) {....}
我错过了什么吗?如果我使用 html
一个一个地加载所有文件,它工作正常。
如果您在单独的文件中定义应用程序的控制器,则不能直接使用 app,因为没有参考。您首先必须参考模块。
angular.module('app')
.controller('aboutController'....
如果这对你有用,请告诉我。
对于希望在下一个 Laravel 项目中以更自动化的方式执行此操作的任何人,我创建了一个 article 来解释如何操作。在 Angular 版本 4-7 和 Laravel 版本 5.4-5.8 上测试。希望对您有所帮助!
我正在尝试使用运行 webpack 的 Laravel Mix 将 angular 应用程序编译成一个文件。我收到错误:
Uncaught ReferenceError: app is not defined
我的webpack.mix.js
:
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()
时得到 Uncaught ReferenceError: app is not defined
,例如 app/Controller/aboutController.js
:
app.controller("aboutController", ['$scope', '$rootScope', '$http', function ($scope, $rootScope, $http) {....}
我错过了什么吗?如果我使用 html
一个一个地加载所有文件,它工作正常。
如果您在单独的文件中定义应用程序的控制器,则不能直接使用 app,因为没有参考。您首先必须参考模块。
angular.module('app')
.controller('aboutController'....
如果这对你有用,请告诉我。
对于希望在下一个 Laravel 项目中以更自动化的方式执行此操作的任何人,我创建了一个 article 来解释如何操作。在 Angular 版本 4-7 和 Laravel 版本 5.4-5.8 上测试。希望对您有所帮助!