位置: IT常识 - 正文

TypeScript选项‘importsNotUsedAsValues‘和‘preserveValueImports‘弃用(typescriptlang)

编辑:rootadmin
TypeScript选项‘importsNotUsedAsValues‘和‘preserveValueImports‘弃用

推荐整理分享TypeScript选项‘importsNotUsedAsValues‘和‘preserveValueImports‘弃用(typescriptlang),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:typescript instanceof,typescript enum,typescriptreact,typescript import,typescript implements,typescript import,typescript enum,typescript import,内容如对您有帮助,希望把文章链接给更多的朋友!

TypeScript 从5.0开始,选项“importsNotUsedAsValues”和“preserveValueImports”已经被标记为Deprecated,并将在TypeScript5.5之后停止支持,可以使用“verbatimModuleSyntax”选项替代。

默认情况下,假如你在TypeScript中写下如下代码:

import { Car } from "./car";export function drive(car: Car) { // ...}

TypeScript检测到您只对类型定义导入,就会完全删除导入。输出的JavaScript可能如下:

export function drive(car) { // ...}

如果 ./car 文件中仅仅定义了type 或者interface,转换为javascript时这些定义被抛弃,是正确。但是,如果 ./car中的Car是一个class,里边还包括了一些其他定义。这个文件被抛弃。最终的javascript可能会产生Runtime error。

importsNotUsedAsValues选项就解决了这个问题。

此标志控制导入的工作方式,有三种不同的选项:

remove:丢弃没有使用的import。【默认值】preserve:保留所有的import,即使从来没有使用过的定义。error:基本上和preserve选项一致,但是,当值(value)被import仅用作 type 时会报错。如果您希望确保没有意外导入任何值,此时可以使用此选项。

preserveValueImports作用:

TypeScript选项‘importsNotUsedAsValues‘和‘preserveValueImports‘弃用(typescriptlang)

例如:

import { Animal } from "./animal.js";eval("console.log(new Animal().isDangerous())");

这样的代码编译器不知道是否该保留还是该抛弃。如果想保留,请使用preserveValueImports选项

importsNotUsedAsValues、preserveValueImports还有一个isolatedModules共三个选项,比较难以理解,有时候使用时仍旧有一些边缘情况导致非期盼的结果。

从TypeScript5.0开始,引入了verbatimModuleSyntax选项(值为 true,false)。使用type修饰符,就明确保留还是抛弃,以简化以上情况。

任何不带类型修饰符的导入或者导出都会被保留。任何使用类型修饰符的内容都将被完全删除。// This statement can be dropped entirely in JS outputimport type * as car from "./car";// The named import/export 'Car' can be dropped in JS outputimport { type Car } from "./car";export { type Car } from "./car";// Erased away entirely.import type { A } from "a";// Rewritten to 'import { b } from "bcd";'import { b, type c, type d } from "bcd";// Rewritten to 'import {} from "xyz";'import { type xyz } from "xyz";

使用此选项后,实现了所见即所得。有type修饰符的,明确只使用了定义,编译时直接抛弃;没有使用type修饰符的,编译时就会保留其内容。

一般情况下,vscode会首先使用自带的TypeScript版本。最近升级后TypeScipt默认都会是5.X版本。

如果想继续使用5.x版本,增加一个选项: 在tsconfig.json 中增加 "ignoreDeprecations": "5.0",就不再报警了。

项目如果想切换到4.X版本:

切换TypeScript版本:首先确保在本项目已经有TypeScript4.x 如果没有可以 npm install typescript @4.9 然后

第一种方法:快捷键:Ctrl + Shift + P 然后输入 Typescript: Select Typescript Version,选择本项目的版本。 第二种方法:打开一个ts或者tsx文件。右下角有TypeScript JSX字样,在左边的{ }上,鼠标悬停,在弹窗中点击目前的TypeScript版本。然后会让选择新的TypeScript版本。

OK,切换成功。

本文链接地址:https://www.jiuchutong.com/zhishi/295348.html 转载请保留说明!

上一篇:使用axis调用WebService,Java WebService调用工具类(客户端调用axis1.4的方式)

下一篇:Chrome浏览器中清除特定网站的Cookie数据(chrome浏览器清除数据)

  • 生产企业进项税加计扣除
  • 关联交易纳税调整期限
  • 小规模残疾人交多少税收
  • 增值税零申报附加税怎么报
  • 发票可用时间
  • 收到的房租增值税专用发票可以抵扣吗
  • 融资租入的企业有哪些
  • 固定资产抵扣对账怎么算
  • 房产税细节
  • 收到保险公司返还的保险费
  • 工资分两次发为什么分两次扣税?
  • 应纳税额减征额和减免税额一样吗
  • 金税盘的年费怎么做抵扣帐
  • 旅游业务增值税税率
  • 应收款计提
  • 产品研发的规则
  • 产品调试费计入什么科目
  • 税务变更后之前的进项
  • 商砼税率是多少
  • 税控盘额度
  • 经营租赁中出租人发生的初始直接费用是指
  • 筹建期间所得税
  • 软件开发公司研发主管绩效考核
  • 财政返还额度会计分录
  • 公司资金周转困难怎么办
  • 企业出售自用汽车
  • 预计负债的计量,如何确定最佳估计数
  • SUSE Linux Enterprise Server 11 SP3安装教程详解
  • 代扣的工会会费怎么做账
  • 支付汽车耗材费怎么入账
  • bigfile是什么意思
  • 股票收益的计算公式
  • vue解决跨域问题
  • win10电源高性能被删了
  • 委托代销双方账务处理
  • vue项目上线教程
  • thinkphp ide
  • 农业产品征税范围注释财税字[1995]52号a
  • html零基础入门教程
  • 福利费专用发票如何账务处理
  • php读取大文件的内容
  • 什么叫python
  • 装修公司管理费是什么
  • 以前年度损益调整怎么做账
  • 小企业会计准则会计科目表
  • 递延所得税资产和负债怎么计算
  • 机动车发票红冲后重新开具
  • 库存商品什么时候确认收入
  • 购销合同上没有金额,怎么写比较好
  • 工资挂账怎样做账
  • 科目余额表如何看
  • 长期股权投资收回账务处理
  • 年报中纳税总额是本年实际缴纳的还是应纳税额
  • 生产成本里面的直接人工
  • 缴纳社保记账凭证怎么开
  • 车间成本核算表
  • MySql 5.6.14 Win32位免安装解压缩版配置教程
  • Win10系统怎么进入控制面板
  • win7 64位系统双击桌面所有程序提示"文件没有与之关联的程序来执行"的解决方法
  • Linux使用scp命令进行文件远程的上传或下载
  • Visual Studio 2013 Tools for Unity安装目录,Visual Studio 2013 Tools.unitypackage
  • opengl中文教程
  • 常用正则表达式汇总
  • iframe内容自适应缩放
  • angular页面加载完后执行方法
  • 转换什么
  • NGUI 响应touchscript 的 tuio动作
  • jquery 图片裁剪
  • 什么是javascrip
  • 数组添加数组
  • python简单实现刷新智联简历
  • android 显示图片
  • android开发教程视频 好少
  • 安卓多点触屏在哪里设置
  • 江苏国税电子税局
  • 欧美 房产税
  • 电子税务局登录不上,显示用户名不匹配
  • 关于加强税务稽查工作的思考
  • 车船税收费标准表
  • 一巩固三衔接
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设