我正在尝试使用ES6导入模块语法,结合Babel和Webpack,将Angular 1.5和UI Router组合起来。
在我的app.js文件中,我有以下代码:
'use strict';
import angular from 'angular';
import uiRouter from 'angular-ui-router';
...
import LoginCtrl from './login/login.ctrl.js'
const app = angular.module("app", [
uiRouter,
...
])
.config(function($stateProvider, $urlRouterProvider) {
$stateProvider
.state('login', {
url: '/login',
templateUrl: '...',
controller: LoginCtrl,
controllerAs: 'login'
})
});
在 login/login.ctrl.js 文件中,我有以下代码:
'use strict';
export default app.controller("LoginCtrl", function() {
//code here
});
当我启动我的应用程序时,出现以下错误消息:
ReferenceError: app is not defined
bundle.js:35422:2
Error: [$injector:modulerr] Failed to instantiate module app due to:
[$injector:nomod] Module 'app' is not available! You either misspelled the module name or forgot to load it.
第二个问题是,我如何在使用ES6的import/export语法时使用controller: "loginCtrl as login"的语法?