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

  • 淘宝如何帮别人买(淘宝如何帮别人卖东西)

    淘宝如何帮别人买(淘宝如何帮别人卖东西)

  • 微信原图过期怎么恢复(微信原图过期怎样恢复)

    微信原图过期怎么恢复(微信原图过期怎样恢复)

  • 华为9x和8x有什么区别(华为8x和9x有什么区别哪个值得入手)

    华为9x和8x有什么区别(华为8x和9x有什么区别哪个值得入手)

  • 联想m100加粉清零方法(联想m100加粉清零方法图解)

    联想m100加粉清零方法(联想m100加粉清零方法图解)

  • 文字环绕效果使文字在图片的左侧怎么弄(文字环绕效果使图片变大)

    文字环绕效果使文字在图片的左侧怎么弄(文字环绕效果使图片变大)

  • 华为小艺怎么关闭(华为小艺怎么关闭唤醒)

    华为小艺怎么关闭(华为小艺怎么关闭唤醒)

  • word文档发到手机上没有边框(word文档发到手机上字体变了)

    word文档发到手机上没有边框(word文档发到手机上字体变了)

  • 为什么ae渲染出来的视频那么大(为什么ae渲染出来的视频是黑色的)

    为什么ae渲染出来的视频那么大(为什么ae渲染出来的视频是黑色的)

  • 小米手环pai什么意思(小米手环哪种型号好)

    小米手环pai什么意思(小米手环哪种型号好)

  • 闲鱼卖东西的钱多久能到账(闲鱼卖东西的钱会打到哪里)

    闲鱼卖东西的钱多久能到账(闲鱼卖东西的钱会打到哪里)

  • 什么是黑金电池(黑金电池和石墨烯电池哪个好)

    什么是黑金电池(黑金电池和石墨烯电池哪个好)

  • wps怎么统一改数字字体(wps怎么批量修改数字格式)

    wps怎么统一改数字字体(wps怎么批量修改数字格式)

  • 候补订单购票几率大吗(候补购票多久能买到票)

    候补订单购票几率大吗(候补购票多久能买到票)

  • 电脑开关电源不启动什么原因(电脑开关电源不亮怎么回事)

    电脑开关电源不启动什么原因(电脑开关电源不亮怎么回事)

  • 笔记本ss接口是干嘛的(笔记本ss接口是usb接口吗)

    笔记本ss接口是干嘛的(笔记本ss接口是usb接口吗)

  • 处理器的速度常用什么表述(处理器的运算速度)

    处理器的速度常用什么表述(处理器的运算速度)

  • word文档表格线条怎么加粗(word文档表格线对不齐)

    word文档表格线条怎么加粗(word文档表格线对不齐)

  • xr手机铃声怎么越变越小(xr手机铃声怎么设置)

    xr手机铃声怎么越变越小(xr手机铃声怎么设置)

  • 手机上特殊符号怎么打出来(手机上特殊符号怎么打出来华为)

    手机上特殊符号怎么打出来(手机上特殊符号怎么打出来华为)

  • 华为mate30上市日期

    华为mate30上市日期

  • 美团众包拉黑怎么解封(美团众包拉黑名单了怎么办)

    美团众包拉黑怎么解封(美团众包拉黑名单了怎么办)

  • 手机拍视频怎么加特效(手机拍视频怎么放音乐)

    手机拍视频怎么加特效(手机拍视频怎么放音乐)

  • 开视频怎么用美颜相机镜头(开视频怎么美颜加滤镜)

    开视频怎么用美颜相机镜头(开视频怎么美颜加滤镜)

  • 电脑ppt怎么下载(电脑上免费制作ppt的软件)

    电脑ppt怎么下载(电脑上免费制作ppt的软件)

  • U盘该怎么杀毒?(u盘如何进行杀毒)

    U盘该怎么杀毒?(u盘如何进行杀毒)

  • 纽格兰奇墓,爱尔兰博因河谷 (© whatapicture/plainpicture)(纽格尔官网)

    纽格兰奇墓,爱尔兰博因河谷 (© whatapicture/plainpicture)(纽格尔官网)

  • 土地增值税清算管理规程
  • 增值税税负税率
  • 发票连续作废两次
  • 销户本金转入保单怎么办
  • 依法确定的其他扣除项目包括
  • 赠送的商品怎么缴纳增值税
  • 工程施工购买的标示牌怎么开票给甲方
  • 应收账款现金收回金额有限制嘛
  • 增值税与实际缴纳不符
  • 怎么去税务局报账流程
  • 未达起征点销售额,11栏怎么填写
  • 租赁房使用权和所有权冲突
  • 总分公司、母子公司:三流不一致情况下,如何抵扣增值税?
  • 小规模核定征收怎么交税
  • 定额发票上除了发票章还有其他章吗
  • 建筑业工人工资保障
  • 认证费计入什么科目
  • 销售退货怎么开红字
  • 未认证的进项税账务处理
  • 客户扣了一部分不合格产品的货款,请问如何做账呢?
  • Win10 20H2 KB5001391补丁包更新内容汇总
  • 未分配利润是怎么算出来的
  • 中介公司收取中介费过高违法吗
  • php输出mysql
  • Win10电脑重装系统要多少钱
  • 企业注销时无力缴纳社保
  • Win11 Build 22449.1000 预览版发布(附更新修复已知问题汇总)
  • php的数组函数
  • 年营业收入平均增长
  • yii框架运行原理
  • 盈余公积金可以用来扩大公司生产经营
  • 公司员工社保由总公司代缴证明
  • 财务会计制度备案信息有效期起止怎么填
  • linux嵌入式开发教程
  • Ubuntu VPS中wordpress网站打开时提示”建立数据库连接错误”的解决办法
  • 两个公司可以是法人吗
  • 任何单位和个人发现洗钱活动有权向什么举报
  • 个人所得税生产经营所得B表
  • 金税盘使用流程
  • php网页上传图片并显示
  • 补缴教育费附加免征滞纳金
  • 织梦建站详细教程
  • 财务做帐的金额怎么算
  • 直接转销法还允许使用吗
  • 固定资产清理是资产类的备抵科目吗
  • 企业盘亏的原因怎么写
  • 核定征收无收入
  • 单位补扣社保算漏交吗
  • 去国外参加展会办什么签证
  • 如何降低未分配利润的方法
  • 哪些发票可以抵扣增值税专用发票
  • 普通发票作废影响额度吗
  • 来料加工企业的辅助材料自购怎开销售发票
  • 资产减值损失怎么计提
  • mysql rand整数
  • 怎么删除win系统
  • win10鼠标指针在文本区很小
  • win8.1原版系统安装教程
  • win7怎么升级到win10系统软件还在吗
  • ServiceLayer.exe - ServiceLayer是什么进程 有什么用
  • pavprot.exe - pavprot是什么进程 作用是什么
  • win7数据保护
  • linux常用命令find
  • android 界面滑动
  • python三角形角度
  • 基于javaweb的物流管理系统
  • js中两个等号
  • jquery父节点
  • unity3d如何导入图片
  • js不重复集合
  • shell脚本怎么写循环
  • javascript的引用类型
  • EditText 点击事件小问题
  • 留抵税额过多怎么办
  • 社保已经申报成功未缴费在哪交费
  • 国家税务局广东省电子税务局下载
  • 村级公益性支出是什么
  • 河北保定地税局官网
  • 大东地税局
  • 银元面值有哪些种类
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设