惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

IT之家
IT之家
Engineering at Meta
Engineering at Meta
腾讯CDC
宝玉的分享
宝玉的分享
H
Help Net Security
I
InfoQ
博客园 - Franky
The GitHub Blog
The GitHub Blog
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
H
Hackread – Cybersecurity News, Data Breaches, AI and More
Microsoft Security Blog
Microsoft Security Blog
M
MIT News - Artificial intelligence
博客园_首页
美团技术团队
Recent Announcements
Recent Announcements
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
雷峰网
雷峰网
The Cloudflare Blog
博客园 - 司徒正美
Vercel News
Vercel News
MyScale Blog
MyScale Blog
人人都是产品经理
人人都是产品经理
爱范儿
爱范儿
月光博客
月光博客

TypeScript

Bun 1.4,安卓平板可玩性大提升? - V2EX ts 生态有没有开源的简单的 kv 配置管理项目 你们是怎么学习 typescript 的? 用 Go 移植的 TypeScript 7 要来了 TypeScript5.9,仿佛走出草原来到了现代社会 Typescript 有没有能对接 AI 的知识库或者文档?能处理稍微复杂点的类型 typescript 如何返回一个动态对象类型 ts 有没有直接能查看最终类型的方法 TypeScript Native 预览版发布了 关于 TypeScript 装饰器和接口的问题,请教一下各位 你们 typescript 用自带枚举还是字符串枚举,感觉字符串枚举类型用起来有点不可靠啊 effect-ts typescript 达人乱入 TypeScript 宣布原生移植计划,性能将提升 10 倍? #笔记#更好的 ts 重载声明方法 使用 satisfies 实现穷举类型保护 请教一个 TS 问题,不知能否实现 装饰器能不能装饰类的所有方法 TypeSciprt 类型推断,如何进一步收窄类型? TypeScript 项目打包发布到 npm,如何给方法和接口添加 dts TypeScript 类型推导真强大。 为啥下面这段代码 TS 不报错 ts 类型约束+请求参数校验+自动生成 openapi/swagger 文档,这三者目前有整合为一体的最佳实践吗 TypeScript 能不能别这么古怪,这行为什么会报错呢? 怎么每次碰到想不通的代码行都出在 TypeScript😢 这行到底哪里有问题? 低估了 typescript 的难度 前端写 nestjs 后端,用 TypeORM 时感到非常困惑,不知道是不是我的理解有问题 我列举了市面上最好的几个 TypeScript 教程, 想深入学习 TypeScript 的同学以后不用走弯路了 这样的函数类型定义在 ts 里面叫什么? typescript 如何忽略泛型参数啊?
TypeScript 中「类型定义的命名空间」使用
wdssmq · 2023-10-08 · via TypeScript

@types/dplayer - npm

https://www.npmjs.com/package/@types/dplayer?activeTab=code

// d.ts
export as namespace DPlayer;

export default class DPlayer {

}

// 导入姿势 1
import DPlayer from 'dplayer'

// 导入姿势 2
import DPlayerX from 'dplayer'
// import type DPlayer from 'dplayer'

姿势 1 好像是可以使用的,但是感觉有些不好区分(图 1 、2 );

图 3 是能找到命名空间,但是仍然提示未定义,就感觉和理解不太一样,虽然可以使用 /* global DPlayer */ 屏蔽提示;

所以目前探索出来的结论:

  • import XXX from 可以作为「值」使用,存在类型定义时可以用作「类型」,作为「值」或「类型」均不需要和导出名相同;
  • import type XXX from 不能作为「值」使用,用作「类型」时不需要和导出名相同;
  • 对于「命名空间」,我这儿是用三斜线指定导入了 @types/dplayer,但是去掉好像还是能找到,好像也没其他专门的导入语法?
    • 上边两种 import 导入均可以与「命名空间」同名,此时可以按使用方式识别为「命名空间」,同时消除 eslint 的 no-undef 提示;

感觉就是 ts 和 eslint 没能配合好,,,可以使用下边方式之一来应对:

  1. 使用与「命名空间」同名的 import 导入,理解之后好像也还行;
  2. 为「命名空间」指定 /* global XXX */ 以屏蔽 eslint 提示;
  3. 不使用「命名空间」,直接使用 import 导入其下的具体类型;

001.png

↑ 图 1

002.png

↑ 图 2

003.png

↑ 图 3

「笔记」各种碎片信息「 2023-10-07 」_电脑网络_沉冰浮水

https://www.wdssmq.com/post/20230223818.html