TypeScript Compiler省略了导入的angular-translate模块

Aar*_*all 5 angularjs typescript typescript1.8

我正在将Angular 1.5项目转换为TypeScript并遇到导入问题angularTranslate.

我尝试导入两个angularangular-translate像这样:

import * as angular from "angular";
import * as angularTranslate from "angular-translate";

console.log(angular, angularTranslate);
Run Code Online (Sandbox Code Playgroud)

我正在使用安装的打字机DefinitelyTyped/angular-translate.d.ts.

当我使用TypeScript 1.8(module: "commonjs")进行编译时,它会发出以下JavaScript:

"use strict";
var angular = require("angular");
console.log(angular, angularTranslate);
Run Code Online (Sandbox Code Playgroud)

正如您所看到的那样,angularTranslate即使它被引用,它也已经删除了导入,并且angular保留了类似使用的导入.这会导致运行时错误ReferenceError: angularTranslate is not defined.这对巴别塔很好用.我该怎么导入angularTranslate

编辑:

这也没有发现:

import angularTranslate = require("angular-translate");
Run Code Online (Sandbox Code Playgroud)

但这会发出预期的输出:

let angularTranslate = require("angular-translate");
Run Code Online (Sandbox Code Playgroud)

angular-translate模块是否有问题导致无法import在TypeScript中使用?

Ale*_* L. 1

问题是“角度翻译”模块导出一个命名空间。作为临时解决方案,您可以参考旧版本的 angular-translate.d.ts 或 fork 并手动修复它。