chengpeiquan / learning-vue3

超过 230w+ 阅读人次的《Vue3 入门指南与实战案例》,关于前端工程化开发的基础知识点,以及 TypeScript 、 Vue 3 、 Pinia 的入门学习指南。

Home Page:https://vue3.chengpeiquan.com

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Comments on the typescript page

chengpeiquan opened this issue · comments

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

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

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

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

commented

写的很好,点赞

commented

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

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

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

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

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

commented

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

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

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

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

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

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

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

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

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

commented

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

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

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

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

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

谢谢,笔芯!

commented

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

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

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

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

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

It's cool ~

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

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

写的通俗易懂,赞一个

小白甜点,爽学

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

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

谢谢你的称赞哈哈哈

现在按教程步骤装包默认的版本有变化,主要是其中@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/node@20.0.0降版本后,build就没有错误了。
如果有新手和我遇到一样的问题,可以参考。
PS:还请博主酌情看看需不需要在文内提醒(我就不自作主张PR了)~比如在更早的章节(比如guide中讲npm install处)给个Tip:如果按照教程操作发现报错,也许是当时默认包版本区别导致,可以按教程中展示的版本替换包后再尝试。
或者如果这个问题有更针对报错提示的解决方案,盼分享。

现在按教程步骤装包默认的版本有变化,主要是其中@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/node@20.0.0降版本后,build就没有错误了。 如果有新手和我遇到一样的问题,可以参考。 PS:还请博主酌情看看需不需要在文内提醒(我就不自作主张PR了)~比如在更早的章节(比如guide中讲npm install处)给个Tip:如果按照教程操作发现报错,也许是当时默认包版本区别导致,可以按教程中展示的版本替换包后再尝试。 或者如果这个问题有更针对报错提示的解决方案,盼分享。

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

现在按教程步骤装包默认的版本有变化,主要是其中@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/node@20.0.0降版本后,build就没有错误了。 如果有新手和我遇到一样的问题,可以参考。 PS:还请博主酌情看看需不需要在文内提醒(我就不自作主张PR了)~比如在更早的章节(比如guide中讲npm install处)给个Tip:如果按照教程操作发现报错,也许是当时默认包版本区别导致,可以按教程中展示的版本替换包后再尝试。 或者如果这个问题有更针对报错提示的解决方案,盼分享。

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