learning-vue3 icon indicating copy to clipboard operation
learning-vue3 copied to clipboard

Comments on the typescript page

Open chengpeiquan opened this issue 2 years ago • 25 comments

~

chengpeiquan avatar Oct 07 '22 15:10 chengpeiquan

写的真好。我运行Ts时有个小问题,提示我没有安装@types/node,安装好这个依赖就能正常运行TS了

charlieDJ avatar Oct 27 '22 15:10 charlieDJ

写的真好。我运行Ts时有个小问题,提示我没有安装@types/node,安装好这个依赖就能正常运行TS了

收到哈~ 我周末检查一下看看~

chengpeiquan avatar Oct 28 '22 05:10 chengpeiquan

本教程写得真好,比网上其他99%的教程都要通俗易懂,也更详细!

HelloAllenZhu avatar Nov 09 '22 03:11 HelloAllenZhu

写的很好,点赞

zzxCNCZ avatar Nov 17 '22 02:11 zzxCNCZ

很久没来看了,又想到了当时的一些想法:

  1. 在介绍 TypeScript 中,是否可以扩充一下断言类型非空断言 ! 等 。理由: 虽然断言需要慎用,但是本教程中,还是很多地方使用到了 非空断言,能够提高一些学习效率。(相较于重载 个人使用的频率反而不多)
  2. ~~在 component 一章中,有介绍到 typeof 的使用,在实际应用中,也是很棒的技巧,在本章中应当提及,或是双向有关联,可能会更好~~

rayadaschn avatar Dec 01 '22 02:12 rayadaschn

很久没来看了,又想到了当时的一些想法:

  1. 在介绍 TypeScript 中,是否可以扩充一下断言类型非空断言 ! 等 。理由: 虽然断言需要慎用,但是本教程中,还是很多地方使用到了 非空断言,能够提高一些学习效率。(相较于重载 个人使用的频率反而不多)
  2. ~在 component 一章中,有介绍到 typeof 的使用,在实际应用中,也是很棒的技巧,在本章中应当提及,或是双向有关联,可能会更好~

重载当时决定拿出来特地说明是考虑到 Vue 3 很多 API 都用到了这个类型声明方式,如果提前了解,对后面涉及到的 API 学习有帮助,其他的 TS 技巧虽然没有都拿出来讲,但在用到的地方也有简单提及,比如 typeof 和泛型,后面如果有机会可以再补上去展开细讲,不过目前这本书已经被出版社签走了,截稿时间就在上个月已经给过去了,所以现在暂时不对当前的线上内容再做调整了哈~

chengpeiquan avatar Dec 01 '22 14:12 chengpeiquan

很久没来看了,又想到了当时的一些想法:

  1. 在介绍 TypeScript 中,是否可以扩充一下断言类型非空断言 ! 等 。理由: 虽然断言需要慎用,但是本教程中,还是很多地方使用到了 非空断言,能够提高一些学习效率。(相较于重载 个人使用的频率反而不多)
  2. ~在 component 一章中,有介绍到 typeof 的使用,在实际应用中,也是很棒的技巧,在本章中应当提及,或是双向有关联,可能会更好~

重载当时决定拿出来特地说明是考虑到 Vue 3 很多 API 都用到了这个类型声明方式,如果提前了解,对后面涉及到的 API 学习有帮助,其他的 TS 技巧虽然没有都拿出来讲,但在用到的地方也有简单提及,比如 typeof 和泛型,后面如果有机会可以再补上去展开细讲,不过目前这本书已经被出版社签走了,截稿时间就在上个月已经给过去了,所以现在暂时不对当前的线上内容再做调整了哈~

太棒了!!! 期待拿到实体书。今年10月份的时候看到的这份教程,确实让我在转vue3的路上少踩了很多坑。非常感谢!!! 若有新书发布会,一定前来讨要签名本!

rayadaschn avatar Dec 02 '22 08:12 rayadaschn

很久没来看了,又想到了当时的一些想法:

  1. 在介绍 TypeScript 中,是否可以扩充一下断言类型非空断言 ! 等 。理由: 虽然断言需要慎用,但是本教程中,还是很多地方使用到了 非空断言,能够提高一些学习效率。(相较于重载 个人使用的频率反而不多)
  2. ~在 component 一章中,有介绍到 typeof 的使用,在实际应用中,也是很棒的技巧,在本章中应当提及,或是双向有关联,可能会更好~

重载当时决定拿出来特地说明是考虑到 Vue 3 很多 API 都用到了这个类型声明方式,如果提前了解,对后面涉及到的 API 学习有帮助,其他的 TS 技巧虽然没有都拿出来讲,但在用到的地方也有简单提及,比如 typeof 和泛型,后面如果有机会可以再补上去展开细讲,不过目前这本书已经被出版社签走了,截稿时间就在上个月已经给过去了,所以现在暂时不对当前的线上内容再做调整了哈~

太棒了!!! 期待拿到实体书。今年10月份的时候看到的这份教程,确实让我在转vue3的路上少踩了很多坑。非常感谢!!! 若有新书发布会,一定前来讨要签名本!

谢谢支持!十分感谢!(出版流程比较久,具体的我还在和编辑沟通,我也是第一次对接出版社😂

chengpeiquan avatar Dec 02 '22 09:12 chengpeiquan

因為搜尋 Vue3 相關資料而點進來的,覺得作者真的寫得很棒,口條清楚言之有物,也不會有什麼詭異的冷笑話。看到即將出書,先預祝新書大賣,也希望有機會能引進台灣,我一定買爆 XD

mukiwu avatar Dec 20 '22 03:12 mukiwu

因為搜尋 Vue3 相關資料而點進來的,覺得作者真的寫得很棒,口條清楚言之有物,也不會有什麼詭異的冷笑話。看到即將出書,先預祝新書大賣,也希望有機會能引進台灣,我一定買爆 XD

谢谢你的支持!!!哇我刚刚逛了你的博客,生活好精彩,好多内容我很喜欢,我要收藏起来!

chengpeiquan avatar Dec 20 '22 06:12 chengpeiquan

大佬写得太好了,很适合我这种新人,大佬的书出来之后高低整几本

Tosuke-sama avatar Dec 22 '22 13:12 Tosuke-sama

大佬写得太好了,很适合我这种新人,大佬的书出来之后高低整几本

谢谢,笔芯!

chengpeiquan avatar Dec 22 '22 16:12 chengpeiquan

你好,我在本地build完ts文件后(生成dist/index.js),ts中的那段代码报错了,说是重复了,把js中的函数注释掉就没问题了,请问这是为什么

in2049 avatar Jan 06 '23 10:01 in2049

你好,我在本地build完ts文件后(生成dist/index.js),ts中的那段代码报错了,说是重复了,把js中的函数注释掉就没问题了,请问这是为什么

这个情况应该只出现在同时打开编译前的 index.ts 和编译后的 index.js ,在 index.ts 里才会提示重复声明,我也是有遇到,但是当关闭了 index.js 文件后,在 index.ts 里的这个报错信息其实是会消失。 而项目下如果存在 tsconfig.json 文件,则不再出现这个情况了。 查询过一些资料都没有明确到原因,出现这个报错的时候在命令行再次 build 其实也没有出现编译报错,只能说是 VSCode 的一个代码检查问题,正常在做项目的时候都会创建 tsconfig 文件,所以不用太担心这个情况。

chengpeiquan avatar Jan 06 '23 17:01 chengpeiquan

@in2049 你好,我在本地build完ts文件后(生成dist/index.js),ts中的那段代码报错了,说是重复了,把js中的函数注释掉就没问题了,请问这是为什么

使用{}包住就好了,作用域问题

nanfb avatar Jan 17 '23 01:01 nanfb

It's cool ~

Frankie32244 avatar Mar 02 '23 07:03 Frankie32244

写得非常好,比很多教程都好。冇得顶。多谢分享。

SifungLei avatar Mar 21 '23 08:03 SifungLei

不过实际工作中,的项目都是通过一些脚手架创建的,工作中后多了一个逗号。

SifungLei avatar Mar 30 '23 07:03 SifungLei

写的通俗易懂,赞一个

michael2299 avatar Jun 08 '23 09:06 michael2299

小白甜点,爽学

HenryPenTaKill avatar Sep 16 '23 08:09 HenryPenTaKill

看的真爽,专门登录评论的,博主厉害,一个有灵魂的程序员兼厨师

iSally avatar Nov 27 '23 03:11 iSally

看的真爽,专门登录评论的,博主厉害,一个有灵魂的程序员兼厨师

谢谢你的称赞哈哈哈

chengpeiquan avatar Nov 27 '23 05:11 chengpeiquan

现在按教程步骤装包默认的版本有变化,主要是其中@types/node会默认安装20.12.4,它在package-lock.json中显示带有"dependencies": {"undici-types": "~5.26.4"},这会导致在修改编译JS版本"build": "tsc src/ts/index.ts --outDir dist --target es6"后npm run build时会报错:

...
node_modules/@types/node/globals.d.ts:6:76 - error TS2792: Cannot find module 'undici-types'. Did you mean to set the 'moduleResolution' option 
to 'nodenext', or to add aliases to the 'paths' option?
...

在当前这个阶段我还不知道该如何按它给的提示调试,我试过直接安装undici-types,但仍然报错,之后参考https://github.com/pop-os/shell/issues/1664下[Venryx]的评论“The only solution I've found so far is to downgrade @types/node from 20.10.6 to 20.0.0”,我用npm install @types/[email protected]降版本后,build就没有错误了。 如果有新手和我遇到一样的问题,可以参考。 PS:还请博主酌情看看需不需要在文内提醒(我就不自作主张PR了)~比如在更早的章节(比如guide中讲npm install处)给个Tip:如果按照教程操作发现报错,也许是当时默认包版本区别导致,可以按教程中展示的版本替换包后再尝试。 或者如果这个问题有更针对报错提示的解决方案,盼分享。

rainmonG avatar Apr 04 '24 08:04 rainmonG

现在按教程步骤装包默认的版本有变化,主要是其中@types/node会默认安装20.12.4,它在package-lock.json中显示带有"dependencies": {"undici-types": "~5.26.4"},这会导致在修改编译JS版本"build": "tsc src/ts/index.ts --outDir dist --target es6"后npm run build时会报错:

...
node_modules/@types/node/globals.d.ts:6:76 - error TS2792: Cannot find module 'undici-types'. Did you mean to set the 'moduleResolution' option 
to 'nodenext', or to add aliases to the 'paths' option?
...

在当前这个阶段我还不知道该如何按它给的提示调试,我试过直接安装undici-types,但仍然报错,之后参考pop-os/shell#1664下[Venryx]的评论“The only solution I've found so far is to downgrade @types/node from 20.10.6 to 20.0.0”,我用npm install @types/[email protected]降版本后,build就没有错误了。 如果有新手和我遇到一样的问题,可以参考。 PS:还请博主酌情看看需不需要在文内提醒(我就不自作主张PR了)~比如在更早的章节(比如guide中讲npm install处)给个Tip:如果按照教程操作发现报错,也许是当时默认包版本区别导致,可以按教程中展示的版本替换包后再尝试。 或者如果这个问题有更针对报错提示的解决方案,盼分享。

好嘞!我晚点来跑一下看看发生了什么事情

chengpeiquan avatar Apr 04 '24 11:04 chengpeiquan

现在按教程步骤装包默认的版本有变化,主要是其中@types/node会默认安装20.12.4,它在package-lock.json中显示带有"dependencies": {"undici-types": "~5.26.4"},这会导致在修改编译JS版本"build": "tsc src/ts/index.ts --outDir dist --target es6"后npm run build时会报错:

...
node_modules/@types/node/globals.d.ts:6:76 - error TS2792: Cannot find module 'undici-types'. Did you mean to set the 'moduleResolution' option 
to 'nodenext', or to add aliases to the 'paths' option?
...

在当前这个阶段我还不知道该如何按它给的提示调试,我试过直接安装undici-types,但仍然报错,之后参考pop-os/shell#1664下[Venryx]的评论“The only solution I've found so far is to downgrade @types/node from 20.10.6 to 20.0.0”,我用npm install @types/[email protected]降版本后,build就没有错误了。 如果有新手和我遇到一样的问题,可以参考。 PS:还请博主酌情看看需不需要在文内提醒(我就不自作主张PR了)~比如在更早的章节(比如guide中讲npm install处)给个Tip:如果按照教程操作发现报错,也许是当时默认包版本区别导致,可以按教程中展示的版本替换包后再尝试。 或者如果这个问题有更针对报错提示的解决方案,盼分享。

解决了,具体原因在这篇博客里做了点说明,也在文档上更新了代码和博文跳转,谢谢你的反馈哈哈哈 https://chengpeiquan.com/article/typescript-error-cannot-find-module-undici-types.html

chengpeiquan avatar Apr 06 '24 16:04 chengpeiquan