打字稿错误“ Angular没有导出的成员'route'”

时间:2019-07-03 14:43:47

标签: angularjs visual-studio typescript

我正尝试将DefinitelyType的最新Angular和Angular-Route使用Typescript定义用于Angular 1.7.8。

相对于2,我更喜欢Angular 1。

我正在尝试在Visual Studio 2019中设置TypeScript,而没有任何模块加载程序或程序包管理器等。我只是将.d.ts文件添加到/ scripts / typings中。

我有2个文件,app.module.ts和app.route.ts。 app.module.ts没有错误,并生成一个js文件。

我的app.route.ts文件如下:

/// <reference path="typings/angular/angular.d.ts" />
/// <reference path="typings/angular/angular-route.d.ts" />

module MyApplication
{
"use strict";

function routes($routeProvider: ng.route.IRouteProvider)
{
    $routeProvider
       .when("/home", {
            templateUrl: "/scripts/app/home/home.html"
        })
        .otherwise({
            redirectTo: "/home"
        });
}

routes.$inject = ["$routeProvider"]

angular
    .module("MyApplication")
    .config(routes);

}

但是我看到此错误,没有生成app.route.js文件:

 Namespace 'angular' has no exported member 'route'.

因为我没有使用模块加载器,所以必须在angular-route.d.ts中注释掉这一行:

import * as angular from 'angular';

所以我不确定这是否会破坏任何东西。

为什么ng.route无法解析并给出错误?

如果我的app.route.ts文件实际上是使用TypeScript而不是常规Java语言实现的(我知道js = ts,但也许使用ts可以/应该是不同的),则也不会介意评论。

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

我想,当您删除路线定义中的angular导入时,我想没有将路线定义放入的angular。

我不确定您描述的设置是否可行。即使是这样,您也肯定会发现很多类似的问题。使用Angular 1和Typescript设置简单的Webpack环境会容易得多。