typescript - 为什么 TypeScript 编译器重命名我的导入?
问题描述
这是我的 TypeScript 代码:
import lodash from "lodash"
这是生成的 Javascript 代码:
const lodash_1 = require("lodash");
悲伤的脸。为什么 TypeScript 会重命名这个变量?这是出乎意料的,无用的,并且破坏了我编写的一些静态工具。
解决方案
出乎意料,没用
不,它不是没用的。它被重命名有几个原因,其中之一是相同的名称会导致冲突,例如
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上运行
推荐阅读
- html - 我怎样才能以我想要的方式对这些项目进行弹性包装?
- javascript - 如何将对象添加到该数组中?
- amazon-cognito - 如何添加在 Cognito JWT 令牌中添加的自定义角色或组?
- c# - SFTP Renci.SshNet 使用现有名称上传文件 - 追加或抛出异常?
- scala - Dataframe.collect().foreach() 抛出异常
- java - 用java中的键对Json响应进行分组
- json - 如何从导出的谷歌表中的 JSON ULR 获取标题和超链接数据
- python - 摘要统计显示在前端仪表板中
- html - 将表示 HMTL 的字符串显示为实际 HTML,而不是 F# 的 Fable 应用程序中的字符串内容
- php - 如何从 html 调用 Laravel 函数?