1 | setTimeout(() => { |
JavaScript Iterator 与 Generator
为各种数据结构提供一个统一的迭代方法, Iterator 迭代器主要使用 for…of 迭代
一句话总结 可以给router-view
组件绑定 props, 这样内部的路由组件就会获取到参数了
如果一个子路由需要获取其上一级的路由参数,你可以在定义该子路由时使用 props
属性将父路由参数传递给子路由组件。然后,再在子路由组件中使用 this.$route.params
来获取父路由参数。
Set 是一种数据结构,用于存储唯一值的集合。它类似于数组,但不允许重复元素。
链表是一种物理存储单元上非连续, 非顺序的存储结构, 数据元素的逻辑顺序是通过链表指针实现的, 链表由一些列结点组成, 每个节点包含两个部分: 一个是存储数据元素的数据域, 另一个是存储下一个结点地址的指针域
ts-node调试ESM项目提示[ERR_UNKNOWN_FILE_EXTENSION]
如果直接使用 ts-node 运行开启了 ESM 的项目, 会提示未知扩展名
1 | PS C:\学习\前端\VoiceGPT\voiceGPT-backend> ts-node .\src\index.ts |
折腾了两个小时,我基本弄明白了如何在 TypeScript 中使用自定义的 ESM 模块。
一开始以为直接导入文件名就行,不需要扩展名。但是,这样使用 TSC 编译出来之后运行报错,因为 ESM 规范要求导入自定义模块必须带有扩展名。然而,TSC 编译出来的项目中导入模块是不带扩展名的,所以 Node.js 会报错。