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

  • 不得不看:怎样运用篮球思维做软文推广

    不得不看:怎样运用篮球思维做软文推广

  • 中国移动宽带怎么查看附近移动营业厅(中国移动宽带怎么退订)

    中国移动宽带怎么查看附近移动营业厅(中国移动宽带怎么退订)

  • 苹果13mini怎么关机重启(苹果13mini怎么关机)

    苹果13mini怎么关机重启(苹果13mini怎么关机)

  • 抖音看直播怎么点赞(抖音看直播怎么关闭声音)

    抖音看直播怎么点赞(抖音看直播怎么关闭声音)

  • rebootandseleproper怎么回事

    rebootandseleproper怎么回事

  • 超感光镜头是什么意思(什么是超感光摄像头)

    超感光镜头是什么意思(什么是超感光摄像头)

  • 华为p40微信视频美颜怎么设置(华为p40微信视频聊天怎么开美颜)

    华为p40微信视频美颜怎么设置(华为p40微信视频聊天怎么开美颜)

  • 联想笔记本保修期是多久(联想笔记本保修范围)

    联想笔记本保修期是多久(联想笔记本保修范围)

  • 微信注销手机号可以解绑吗(微信注销手机号多久能绑其他微信)

    微信注销手机号可以解绑吗(微信注销手机号多久能绑其他微信)

  • word文档卡住了怎么保存(word文档卡住了关不掉)

    word文档卡住了怎么保存(word文档卡住了关不掉)

  • 快手屏蔽了别人,还能看到吗(快手屏蔽了别人评论能看到吗)

    快手屏蔽了别人,还能看到吗(快手屏蔽了别人评论能看到吗)

  • excel输入身份证号码为什么后几位变成0了(excel输入身份证号码变成e+17)

    excel输入身份证号码为什么后几位变成0了(excel输入身份证号码变成e+17)

  • 手机关机qq自动回复还有吗(手机关机qq自动回复吗)

    手机关机qq自动回复还有吗(手机关机qq自动回复吗)

  • ip协议位于osi什么层(ip协议对应于osi7层模型中的第几层)

    ip协议位于osi什么层(ip协议对应于osi7层模型中的第几层)

  • 手机淘宝主题怎么设置(淘宝主题怎么弄)

    手机淘宝主题怎么设置(淘宝主题怎么弄)

  • 怎么退出华为talkback模式(怎么退出华为云空间)

    怎么退出华为talkback模式(怎么退出华为云空间)

  • iqoopro什么时候上市的(iqoopro什么时候更新安卓11)

    iqoopro什么时候上市的(iqoopro什么时候更新安卓11)

  • vivo怎么给mp3下载歌(怎么用vivo给mp3下歌)

    vivo怎么给mp3下载歌(怎么用vivo给mp3下歌)

  • 荣耀手环哪个可以接电话(荣耀手环性价比)

    荣耀手环哪个可以接电话(荣耀手环性价比)

  • 苹果蓝牙耳机怎么加减音量(苹果蓝牙耳机怎么看电量)

    苹果蓝牙耳机怎么加减音量(苹果蓝牙耳机怎么看电量)

  • 苹果手机安全性有多高(苹果手机安全性高还是安卓手机安全性高呢)

    苹果手机安全性有多高(苹果手机安全性高还是安卓手机安全性高呢)

  • 联动云退押金多久到账(联动云退押金多少钱)

    联动云退押金多久到账(联动云退押金多少钱)

  • 华为智能助手怎么呼唤(华为智能助手怎么删除)

    华为智能助手怎么呼唤(华为智能助手怎么删除)

  • oppo怎么用抖音做锁屏(oppo怎么用抖音视频的模板)

    oppo怎么用抖音做锁屏(oppo怎么用抖音视频的模板)

  • 华硕笔记本电脑的BIOS设置图文详解(华硕笔记本电脑售后维修服务网点)

    华硕笔记本电脑的BIOS设置图文详解(华硕笔记本电脑售后维修服务网点)

  • 电脑C盘数据被损坏的恢复方法(电脑c盘被损坏怎么修复)

    电脑C盘数据被损坏的恢复方法(电脑c盘被损坏怎么修复)

  • 爬虫基本原理(爬虫基本原理有哪些)

    爬虫基本原理(爬虫基本原理有哪些)

  • acca b/f
  • 厨房酒店用品
  • 所得税季报利润总额
  • 增值税专票怎么抵扣
  • 什么发票可以冲销
  • 购买大型设备的会计科目
  • 逾期认证未抵扣的文件
  • 跨境电商怎么交税
  • 年底计提费用和实际费用
  • 计提企业所得税怎么计算
  • 回购库存股所有者权益会发生变化吗
  • 已认证的发票没领怎么办
  • 债权受让方如何交税
  • 小规模纳税人从哪里可以看出来
  • 认证的增值税发票怎么做成账本格式
  • 扩大税收来源什么意思
  • 兼兼的意思
  • 各行业增值税税负率表2022年
  • 企业所得税税率2.5% 5% 25%
  • 工程发票预交税金规定
  • 东芝t351笔记本
  • 产品入库是什么
  • 合并报表抵消分录实例
  • w11系统黑屏
  • ati2sgag.exe进程安全吗 ati2sgag进程信息查询
  • 代开的发票需要企业盖章还是税务机关盖章?
  • 很值得收藏
  • 以权益结算的股票
  • 符合资本化的研发支出不影响利润总额吗
  • echarts柱状图立体
  • 其他收益所得税汇算清缴时需要调增吗
  • 单位购买防疫物资会议纪要
  • 织梦官方网站
  • 没有发票怎么做收入
  • 起征点税种
  • 视同小规模纳税人是有?
  • 账务核对的主要内容
  • 设置sql server的安全认证模式为混合认证模式
  • mysql 锁详解
  • 增值税发票内容填写不全应如何进行处理?
  • 成品油发票抵扣进项税
  • 不动产进项税额不再分两年抵扣
  • 结转本月收支
  • 借款合同需要交印花税吗
  • 安全费用支付
  • 总公司可以给子公司开票吗
  • 财政总预算会计的主体是
  • 误餐补助标准国家规定
  • 旅行社开的机票款可以抵扣吗
  • 固定资产清理账户借方的核算内容包括
  • 简述工作底稿的一般要求及内容
  • sql语句优化总结
  • mysql为什么很受大家青睐
  • mysql 源码 下载
  • win10的win+tab
  • win8怎么装系统
  • Ubuntu 15.04系统怎么安装Visual Studio Code 2015?
  • xp系统自动升级win7
  • win10桌面右边没有了怎么弄出来了?
  • window10蓝瓶
  • win7系统里面怎么找到微信程序
  • 折腾linux 没意义
  • OpenGL_砖块着色案例
  • qt渲染机制
  • jq复制元素
  • 用dos杀毒的一个软件
  • 使用forever管理nodejs应用教程
  • async/await与promise(nodejs中的异步操作问题)
  • NGUI之UIScrollView对齐
  • unity删除对象
  • linux中wget命令出现错误
  • array 和list
  • jquery动态
  • jquery获取当前元素是第几个元素
  • 关于房地产企业所得税涉税处理表述正确的有
  • 建筑业小规模纳税人工程结算增值税
  • 免税企业可以收增值税专票吗
  • 小规模纳税人土地税减免政策
  • 武汉洪山实验中学是初中还是高中
  • 中铁e通手机app
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设