0

我正在使用ES6创建 AngularJS 1.x 应用程序的方法编写一个小应用程序,并在我的app.js类中有以下代码:

    import {HomeController} from "./controllers/HomeController";

    class StatesProvider {

       //blah, blah working      

    }

    StatesProvider.$inject = ["$stateProvider", "$urlRouterProvider"];


    var myapp = angular.module("myapp", ["ui.router", "ui.bootstrap"])    
                       .controller("HomeController", HomeController)    
                       .config(StatesProvider);

问题是第一行代码:

import {HomeController} from "./controllers/HomeController";

这不是语法,而只是使用'import'关键字。第二次我在 VS.NET 中看到一个警告:

可能从未分配属性或全局变量“角度”

这不是真正的罪魁祸首。在我运行应用程序的那一刻,我得到 (2) JS 错误:

意外的令牌导入

由于以下原因无法实例化模块 myapp:错误:[$injector:nomod] 模块“myapp”不可用!您要么拼错了模块名称,要么忘记加载它。如果注册模块,请确保将依赖项指定为第二个参数。

第二个错误确实是第一个错误的问题。该导入语句有问题。如果我删除声明,那么importAngular 应用程序会正常启动并且一切正常

据我了解,在ES6使用 import 语句时使用模块加载是本机功能,我不需要单独的模块加载器(即require.js等)。请参阅以下内容中的(Angular 和 ES 模块)进行验证:http ://blog.thoughtram.io/angularjs/es6/2015/01/23/exploring-angular-1.3-using-es6.html

我需要注册我的 Angular 控制器。我做错了什么,我不能使用该import语句来引用外部模块?

4

0 回答 0