为什么TypeScript编译器重命名我的导入?

时间:2019-05-07 00:12:28

标签: typescript

这是我的TypeScript代码:

import lodash from "lodash"

这是生成的Javascript代码:

const lodash_1 = require("lodash");

悲伤的脸。为什么TypeScript会重命名此变量?这是意外的,无用的,并且破坏了我编写的一些静态工具。

1 个答案:

答案 0 :(得分:0)

  

这是意外的,没用的

不,不是没有用的。它被重命名有几个原因,其中之一是相同的名称会引起冲突,例如

import x from 'asdf';
{
  const x = 123; 
  console.log(x);
}
console.log(x);

更多

如果您有兴趣,Babel会进行类似的命名:

import x from 'asdf';
console.log(x);

成为:

var _asdf = _interopRequireDefault(require("asdf"));
console.log(_asdf.default);
  

并破坏了我编写的一些静态工具。

设计静态工具以在 TypeScript 而不是生成的 JavaScript

上运行