首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

JSDoc ,一个可替代 TypeScript 方案?

改进通用代码文档: 除了代码添加必要类型之外,JSDoc还有很多方法可以提高可读性和理解便利性。...它用于创建到指定URL链接,而 @tutorial 标签用于将用户引导到生成文档相对教程链接。 创建模块:JSDoc创建模块可以使用文件顶部 @module 标签。...这将使当前文件成为一个模块。模块将在生成文档网站上单独部分中进行分组。...从JSDoc生成.d.ts文件 TypeScript, .d.ts 文件代表包含所有 .ts 文件可以访问类型声明文件。...您可以通过以下步骤从JSDoc代码生成这些文件项目文件安装 tsd-jsdoc npm install tsd-jsdoc 生成 .d.ts 文件 对于一个单独文件 jsdoc -t node_modules

48510

大话 JavaScript(Speaking JavaScript):第二十六章到第三十章

可接受聪明用法 有时候你可以 JavaScript 很聪明——如果这种聪明已经成为一种已经建立模式。...JSDoc 生成 HTML 输出。 JSDoc 网站上自述文件解释了如何安装和调用这个工具。 JSDoc 基础知识 JSDoc 全部内容都是关于文档化实体(函数方法、构造函数等)。...HTML 您可以 JSDoc 注释自由使用 HTML。例如,显示单词等宽字体。 类型注释 您可以通过大括号类型名称来记录实体类型。...前者更像是一种类型,而构造函数是实现类一种方式。JavaScript 内置定义方法有限,这就是为什么有许多 API 来帮助完成这个任务。...定义类最常见方式是:通过构造函数、通过对象文字以及通过具有@constructs方法对象文字。 通过构造函数定义类 要通过构造函数定义类,必须标记构造函数;否则,它将不会被文档化为类。

12310
您找到你想要的搜索结果了吗?
是的
没有找到

JSDoc还需要TypeScript吗

一旦你本地完成了所有工作,你就需要考虑如何分发你代码。你会检查你编译.js文件吗?你会创建一个CI管道来自动编译你.ts文件吗?如果你写一个库,你如何发布你库,以便它可以被其他项目使用?...你可以通过使用JSDocJavaScript获得TypeScript所有好处 TypeScript所提供是一个静态类型系统。这意味着类型信息在运行代码没有影响。...JSDoc JavaScript诞生25年多后,JSDoc作为一种注释JavaScript代码方式被引入。它是一种正式标记语言,允许IDE开发者看到一个函数时提供额外上下文。...最重要是你要知道,几乎所有你能在.ts文件事情,你都能用JSDoc来做。...如果你有复杂类型,你仍然可以编写你*.d.ts文件并在你JSDoc注释中导入它们

27620

TS in JS 实践指北

JS 里 TS 不知道大家有没有想过,为什么 JS 打出document.时候,VSCode 就会自动弹出它里面的方法。 ?...指定默认入口: 包内自带声明文件可以不和源码放一起,单独放在某个文件夹维护,只要在 package.json 中指定声明文件入口,VSCode 就会自动去找这个文件。.../** 我是 JSDoc 注释 */ function foo () {} JSDoc JSDoc一种注释规范,也是一种生成文档工具,大家或多或少都接触过。...JSDoc JS 中有一个非常好优势。和 TS 有关能力,「直跳」这个行为大部分时候会定位到代码声明位置,而不是定义位置。... JS 里使用 TS 能力方法 1.使用声明文件2.使用 JSDoc 这两种方式还可以一起作用,实现一些复杂类型效果。

4.4K20

JSDoc 真能取代 TypeScript?

我们总得先了解下 JSDoc: 可能大家认为 JSDoc 是这个东西: 代码注释上加上类型标识,然后通过 jsdoc 命令行工具,就可以直接生成文档。...文档在这里: ts 支持 js 文件注释里,通过 JSDoc 语法给它加上类型。 至于有什么意义,那可就太多了。...这就是 JSDoc 定义 class 类型方式。 综上,用 JSDoc 可以定义变量、函数、class、泛型等,可以从别的 dts 文件引入类型。 基本上 ts 能做JSDoc 也都可以。...那我们再看下它怎么用吧: 可以看到,是 js 文件里用 JSDoc 来声明类型: 然后复杂类型 dts 里定义,然后这里引入: 就和我们刚才测试一样。...ts 里可以定义类型, JSDoc 里都可以定义,比如变量、函数、class、泛型,甚至类型编程等。复杂类型还可以抽离到 dts 里, @type 里引入。

31930

如何查看jsplumb.jsAPI文档(YUIdoc基本使用)

最近向一些同事推荐了网页实现流程图绘制工具库jsplumb.js,Community版本是开源github官方仓库Wiki能够找到社区版官方指南,非常非常详细。...(yuidoc后面是1个空格1个点号) YUIdoc就会在当前目录新建一个out文件夹,并将文档输出为本地静态网站,完成后只需要打开out目录index.html就可以本地查看API离线文档了,下图即是...jsdoc风格注释语句转换成静态网站式离线文档,所以你可以通过定制模板来为最终生成文档增加不同主题样式。...jsdoc风格通常都会有IDE插件直接生成(vscode和sublime里肯定是有的,因为我自己天天用),最常见函数声明注释,YUIdoc可以识别的所有语法可以查看官方提供【YUIdoc支持注释语法...如果你开发是一个工具库,需要生成完备API文档,为了不影响源码阅读和开发,可以像jsplumb.js那样将注释语句单独写在一个文件,因为是一个自动化工具,也没什么太多可讲,有需要朋友直接浏览一下官网就可以很容易地使用了

2K00

如何优雅地编写一个高逼格JS插件?

原型写法 要开始编写插件就得先了解JS模块化,早期模块化是利用了函数自执行来实现单独函数作用域中执行代码可以避免插件定义变量污染到全局变量,举个栗子,以下代码实现了一个简单随机数生成插件...JS原型极致利用,首先主动对其原型上init方法进行实例化并返回,init相当于构造函数效果,而此时返回实例里并没有包含Fn方法,我们调用时JS自然就会从init原型对象上去查找,于是最终...补充:模块化发展 早期利用函数自执行实现,单独函数作用域中执行代码(如 JQuery ) AMD:引入 require.js 编写模块化,引用依赖必须提前声明 CMD:引入 sea.js 编写模块化...,特点是可以动态引入依赖 CommonJS:NodeJs 模块化,只服务端适用,是同步加载 ES Modules:ES6 中新增模块化,是目前主流 本文前三种插件编写方式均属于利用函数自执行(...所以这里我们使用 JSDoc 来创建 API文档,它使用简单,只需要在代码编写规范注释,即能根据注释自动生成文档,一举多得,十分优雅!

1K10

为你 JavaScript 项目添加智能提示和类型检查

基于 JSDoc JSDoc 是目前最通用 JavaScript API 文档生成器,根据其语法编写代码注释,可以十分方便地自动生成文档。...= {a: true}; x.b = false; x. // <- 由于 type 声明,"x" 将被提示含有属性 a,b 以及 c JSDoc 最常见使用是为函数参数声明类型,使用 @param...不严格地来说,ts 类型声明文件就像用 TypeScript 语法将 JSDoc 注释重写了一遍并提取到了单独文件。...VSCode 更是将二者作了融合,当你二者混用时候,可以直接在 JSDoc 注释中直接使用 ts 类型声明文件定义 interface 和 class 等。...另外, VSCode ,类型检查并非默认开启,这意味着即使你有详尽 JSDoc 注释或 ts 类型声明文件,依然可能在数据类型上栽跟头。

3.2K20

JSDoc 初探:代码内文档标记

JSDoc 3 是一个用于 JavaScript API文档生成器,类似于 Javadoc 或 phpDocumentor。可以文档注释直接添加到源代码。...以 /*、/***开头或超过3颗星注释将被忽略。这个特性用于控制解析注释块功能。JSDoc一种用于为JavaScript代码生成文档工具。...阅读和使用第三方库时,可以通过查看JSDoc生成文档来了解函数方法使用方式、参数、返回值等信息。...JSDoc可以使用各种标签来描述代码不同方面,例如:@param:用于描述函数方法参数类型和含义;@returns:用于描述函数方法返回值类型和含义;@throws:用于描述函数方法可能抛出异常类型和含义...需要注意是,JSDoc中标记参数具有默认值并不会改变函数方法实际调用方式,你可以注释写好标记默认参数,而不写在代码,反之亦然(君子协定)。

13610

TypeScript 5.0 正式发布!

除了元数据之外,方法 context 对象还有一个有用函数:addInitializer。这是一种接到构造函数开头方法(如果使用静态方法,则挂接到类本身初始化)。...具体定义装饰器函数复杂程度取决于想要保证什么。需要记住,装饰器使用次数将超过它们编写次数,所以类型良好版本通常是更好——但显然与可读性有一个权衡,所以请尽量保持简单。...// ... })); JSDoc 支持 @overload TypeScript 可以函数指定重载。...重载提供了一种方式,用不同参数调用一个函数,并返回不同结果。它可以限制调用者实际使用函数方式,并优化将返回结果。...目前,它们仍然不稳定且处于试验阶段,现在可以通过 JSON 选项中使用 typescript.unstable VS Code 中选择加入它们

3.7K70

【译】不是 TypeScript TypeScript -- JSDoc 超能力

目录 带有JSDoc注释TypeScript 激活检查 内联类型 定义对象 定义函数 导入类型 使用泛型 枚举 typeof 从类扩展 带有 JSDoc 注释 TypeScript 最优情况下,...类型有很多很多,比评论几种基本类型更多。结果就是使用 JSDoc 类型可以让你走得很远。...这样,您就可以 TypeScript 编写 TypeScript 类型定义并将它们导入源文件。...考虑将它们放在 TypeScript 文件并通过导入功能导入它。...特别是输入泛型时,TypeScript 还有一些功能,但是对于很多基本任务,你可以不安装任何编译器情况下获得很多编辑器能力。 知道更多?给我发一条推文。我很高兴在这里添加它们

3.1K30

知识图谱和 LLM:多跳问答

这篇博文探讨了: RAG 应用程序内部运作 知识图谱作为一种高效信息存储解决方案 结合图和文本数据以增强洞察力 应用思维问答技术 RAG 工作原理 检索增强生成(RAG)是一种通过从外部数据库检索相关信息并将其合并到生成输出来增强...每条记录都是单独处理,但知识图谱表示连接数据,从而可以轻松回答跨多个文档问题。 大多数回答多跳问题较新 LLM 方法都侧重于查询时解决任务。...事实上,许多多跳问答问题可以通过摄取之前预处理数据并将其连接到知识图谱来解决。您可以使用 LLM 或自定义文本域模型来执行信息提取管道。...思维中使用知识图谱 围绕 LLM 另一个令人着迷发展是思维问题回答,尤其是 LLM 代理。 LLM 代理可以将问题分为多个步骤,定义计划,并利用任何提供工具生成答案。...通过单独处理每个文档并将它们接到知识图谱,我们可以构建信息结构化表示。这种方法可以更轻松地遍历和导航互连文档,从而实现多跳推理来回答复杂查询。

30110

不是Typescript用不起,而是JSDoc更有性价比?

_clock = clock; } } 在实践,多用于配合 jsdoc2md 等工具,自动生成库 API 文档等。...类型声明定义成 TS 风格,更是支持了 JSDoc 注释类型声明动态引入并解析 TS 类型能力。...,不管项目本身是否支持 TS,我们都可以放心大胆地先定义好类型定义 .d.ts 文件,如: // color.d.ts export interface Rgb { red: number;...通常情况下,ProtoBuf(Protocol Buffers)设计思想是先定义 .proto 文件,然后使用编译器生成对应代码(例如 Java 类和 d.ts 类型定义)。...能力,我们可以设计一种退而求其次、虽不中亦不远矣改造方案 -- 在要求后端团队写出相对比较规整实体定义前提下,编写提取转换脚本,定期或手动生成对应 JSDoc 类型定义,从而实现前后端业务逻辑准确同步

28910

【js】如何正确写代码注释?

/* 时间戳日期格式化函数 */ function formTime(time,isyear){ } 简单变量声明之类内容可以进行简单注释,但是函数就不能这样做了,要知道注释作用是一种为了让代码更易读...、易维护、易理解,起到提示作用,上面的两个注释都是正确,但是它起到作用太低了,正式工作我们往往会协同开发,这种注释是万万不可。...优点 方法提示 time是个字符串 我们要截取字符串 普通注释 文档注释 内容提示 鼠标移动到函数以及参数上所给提示。...自动化生成文档 既然叫文档注释,那么生成个文档也没什么好奇怪吧, 生成文档包有很多种,比如jsDoc,apiDoc等等,在这里我使用jsdoc。 安装 输入以下命令进行全局安装。...npm install jsdoc -g 基本使用 jsdoc 文件名 其他使用方式可以去官网查看 jsdoc 33.js 执行完此命令,会生成一个out文件夹,查看里面的index页面即可,右边侧边栏会显示函数使用

16720
领券