当前位置: 首页 > news >正文

网站维护工作的基本内容线上广告平台

网站维护工作的基本内容,线上广告平台,巴马网站建设,公司注册地址要求一、TypeScript 怎么知道库的类型? ypeScript 在编译时需要知道函数、变量、对象的 类型 才能做检查。对于第三方库,类型信息有三种来源:库本身自带类型声明比如 axios、vue、react 等现代库,源代码里就自带 index.d.ts 类型声明文…

一、TypeScript 怎么知道库的类型?

ypeScript 在编译时需要知道函数、变量、对象的 类型 才能做检查。对于第三方库,类型信息有三种来源:

  1. 库本身自带类型声明

    • 比如 axios、vue、react 等现代库,源代码里就自带 index.d.ts 类型声明文件。

    • 这种情况下,你只要安装库本身就行,TS 就能找到类型信息。

npm install axios
import axios from "axios";
axios.get("/api"); // axios 自带类型推断
  1. DefinitelyTyped 提供的 @types/xxx 包
    • 有些库(比如早期写的 JS 库:lodash-es、jquery、express)没写 TypeScript 类型。

    • 社区把类型声明写好后,统一放到 DefinitelyTyped 仓库,然后发布到 npm 的 @types 命名空间下。

这就是你看到的:

npm install lodash-es
npm install -D @types/lodash-es

TypeScript 会自动去 node_modules/@types 文件夹里找对应的类型声明。

  1. 自己写 .d.ts 声明文件

    • 如果某个库既没有自带类型,也没有 @types/xxx,你就得自己写类型声明文件。

写法比如:

// types/some-lib.d.ts
declare module "some-lib" {export function foo(bar: string): number;
}

二、为什么有的需要 @types,有的不用?

总结下来就是:

  • 现代库(新出的库) → 一般直接在项目里自带 .d.ts 文件 → 不用装 @types

  • 老库(纯 JS 写的库) → 没有类型 → 社区补充 @types/xxx 包 → 要单独装 @types

  • 没人维护的库 → 可能没有任何类型声明 → 只能自己写 .d.ts

三、TypeScript 查找类型的优先级

当你写 import _ from “lodash-es” 时,TypeScript 按以下顺序查找类型:

  1. 库内部的 package.json 里是否声明了 types 或 typings 字段

    • 指向一个 .d.ts 文件。

    • 比如 axios/package.json 里有 “types”: “index.d.ts”。

  2. 库根目录是否有 index.d.ts

    • 如果有,就用这个文件。
  3. 是否安装了对应的 @types/xxx 包

    • TypeScript 会自动去 node_modules/@types/xxx 目录找。
  4. 没有找到

    • TS 把库当成 any,你就失去了类型提示和检查。

四、举几个例子

库名是否自带类型是否需要 @types
axios✅ 自带❌ 不需要
react✅ 自带(17 之后)❌ 不需要
vue✅ 自带❌ 不需要
lodash-es❌ 没有✅ 需要 @types/lodash-es
express❌ 没有✅ 需要 @types/express
jquery❌ 没有✅ 需要 @types/jquery
http://www.dtcms.com/a/506455.html

相关文章:

  • phpmysql网站模板东莞网站制作培训多少钱
  • 二手服务器做网站公司网站建设如何摊销
  • 做网站设计管理需要什么知识网站变灰色
  • 夫妻性做受视频什么网站wordpress注册系统
  • 迎访问备案网站管理系统在哪个网站可以免费制作简历
  • 网站域名注册后怎么打开网站推广计划方案
  • 经营网站需要注意什么阳江网红打卡景点
  • 特色网站模板苏州建设网站微信公众号
  • php在网站制作中的运行机制网络推广理实一体化软件
  • 现在网站要怎么做才有人wordpress怎么增加菜单
  • a站全称wordpress网站秒开
  • 获取网站的路径iis 子网站
  • 咸阳网站开发哪家好东莞公司注册地址变更流程
  • 做网站的公司为什么人少了wordpress整合主题
  • 企业网站的基本要素品牌推广公司排名
  • 网站成立查询12380网站开发
  • 网站建设ppt下载二级域名免费申请
  • 海淀网站开发公司网站设计模板旅游景点11页
  • 网站开发字体的引用17网一起做网店下载
  • 德国网站建设佛山市建网站做网站费用
  • 如何防止网站被攻击网站做系统
  • 如何用域名做邮箱 网站手机版网站有必要吗
  • iis 添加网站 win7免费做会计试题网站
  • 提高网站目标流量前端不会wordpress
  • 素材网站都有哪些深圳福田区网站建设
  • 大连微信网站wordpress 机制
  • 重庆永川网站建设公司昆明seo关键字推广
  • 做做网站已更新免费私人直播间 哔哩哔哩
  • 上海网站制作哪家奿找人做网站大概多少钱
  • 宁波在线制作网站自己怎么健网站视频下载