@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 没能配合好,,,可以使用下边方式之一来应对:
import
导入,理解之后好像也还行;/* global XXX */
以屏蔽 eslint 提示;import
导入其下的具体类型;↑ 图 1
↑ 图 2
↑ 图 3
「笔记」各种碎片信息「 2023-10-07 」_电脑网络_沉冰浮水
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.