位置: 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浏览器清除数据)

  • 防伪税控系统
  • 代缴税费
  • 投资收益所得税前扣除
  • 从价税是什么意思
  • 小规模纳税人出租
  • 固定资产清理残料变价收入
  • 代开专票上的税额比电子缴款凭证上的税额少怎么调整
  • 即征即退收入要交税吗
  • 乘车保险费
  • 限售股在锁定期内卖出
  • 未达起征点销售额是含税还是不含税
  • 收到0税率的增值税发票
  • 公司开业前期费用处理
  • 未及时支付工资时间界限
  • 结转周转材料成本差异会计分录
  • 建筑劳务公司派遣人员工资发放凭证
  • 服务协议属于哪类合同
  • 一般纳税人年审证明
  • 应交税费应交增值税的三级科目有哪些
  • 无形资产租赁税率多少
  • 人力资源公司为个人代缴社保
  • 如何填制记账凭证总结
  • 为什么负债不等于亏损
  • 收到其他公司的捐赠收入怎么处理
  • 售后回租 出租方
  • 不开票的收入怎么办
  • 企业向个人借款支付的利息
  • 价款包括增值税税率吗
  • 王者荣耀如何进入3D视角
  • 暂估营业收入会增加吗
  • 投资利润率用什么表示
  • 增值税一般纳税人资格登记表
  • zendframework3中文手册
  • 控制系统动力学
  • 微信小店的入口在哪里
  • 关于猿猴的作文
  • ls -lh命令
  • 城建税退回与不退税区别
  • 租房发票怎么缴税
  • 驱动开发做得长久吗
  • mysql命令的常用参数包括什么
  • 关于DEDECMS移动data后网站地图无法生成的解决方法
  • 织梦会员功能
  • 手机银行对公账户转账要手续费吗
  • 差旅费报销相关政策
  • 什么是符合资本化
  • sqlserver2005数据库导出数据成.sql
  • mysql数据类型和java对应
  • 本月发料凭证会计分录
  • 金税四期注意什么
  • 哪些人需要税务会计
  • 个税汇算清缴是退税吗
  • 刷单成本计入什么费用?
  • 购买土地需要缴纳哪些费用
  • 广告费计入什么会计分录
  • 社保稳岗补贴账务处理分录
  • 外购白酒继续生产白酒
  • 企业什么时候才需要交税
  • 购进货物取得
  • 长期应付款涉及哪些业务,应如何进行核算
  • 如何给初建单位发邮件
  • 松散索引和紧凑索引
  • mysql清空数据表怎么恢复
  • win10自动调整时间不准
  • 磁盘已满
  • windows蓝屏代码大全及解决方案
  • mac怎么设置默认打开方式
  • win7网卡驱动怎么卸载
  • Linux操作系统网络及主机名配置
  • gcc编译选项详解
  • win8右边栏设置
  • Linux系统中配置网络
  • 基于核心素养下的大单元教学设计
  • jquery-easyui-1.3.3
  • 批处理 /a
  • python爬虫入门教程
  • js弹出对话框的命令
  • android获取sha1
  • 土地使用税2023征收标准
  • 会计的各种税
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设