最近修改了
tsconfig.ts
文件之后,TypeScript 老是没有检测到修改,无奈只能重启 VSCode。
后来终于忍受不了这种笨拙的方式,搜了一下,发现重启 TS Server 其实很简单:
用
CMD+Shift+P
(MacOS) 或者
Ctrl+Shift+P
(Windows) 打开 command palette,输入
restart
就会看到
restart TS server
这里有一个坑,就是没有
restart TS server
命令,那是因为这条命令需要你在
.js
或者
.ts
文件的 Tab 才可用。
所以你要先随便打开一个
.js
/
.ts
文件,再在 command palette 输入
restart
,这个时候就找得到了。
[1]
https://github.com/microsoft/vscode/issues/79530
文件之后,TypeScript 老是没有检测到修改,无奈只能重启 VSCode。(Windows) 打开 command palette,输入。文件,再在 command palette 输入。命令,那是因为这条命令需要你在。文件的 Tab 才可用。这里有一个坑,就是没有。所以你要先随便打开一个。(MacOS) 或者。,这个时候就找得到了。
生成
tsconfig
.json
这个文件是通过
ts
c --init命令生成的,在桌面上新建一个文件夹
Ts
Demo,然后打开
VSCode
,把文件托到编辑器中,然后打开终端Terminal,输入
ts
c --init。
输入完成后,就会出现
tsconfig
.json文件,你可以打开简单的看一下,不过此时你可能看不懂。
其实它就是用来配置如何对
ts
文件进行编译的,我们都叫它
typescript
的编译配置文件。
如果此时你的
ts
c执行不了,很有可能是你
没
有全局安装
TypeScript
,可以全局安装一下。
由于项目中代码层级比较深,且多。所以相互之间引用起来会比较麻烦,各种 …/,…/…/,…/…/…/ 等等
为了解决这个问题,使用
tsconfig
的 compilerOptions.paths 搭配 compilerOptions.baseUrl 来实现,但是遇到设置之后
不生效
的问题。
可以看到我们的
tsconfig
与 src 是在同级目录,我们的 include 中表示包...
用于
Ts
server
语言服务器扩展。
Ts
server
是一部分,它为JavaScript和
Typescript
提供了丰富的功能。
此扩展是与
VSCode
捆绑在一起的
typescript
typescript
-language-features扩展的分支。
注意:为了使React能够按预期工作,您需要将JSX文件类型设置为javascript.jsx或javascriptreact ,将
TS
X文件类型设置为
typescript
.jsx或
typescript
.
ts
x或
typescript
react 。 在coc.nvim,这些文件类型映射到javascriptre
找不到模块“./App.vue”或其相应的类型声明。
ts
(2307)
最好的办法就是去看相同技术栈比较优秀的开源项目,比如vban, 在vban项目中,当鼠标悬浮在./App.vue上时, 显示module "*.vue",
右击“转到类型定义”,就能看到在哪里声明了vue类型文件
那我们的声明文件到底有什么问题?为什么
不生效
?
1、检查
tsconfig
.json 里的include, 是否包含了我们定义的声明文件,参考vban项目
2、 声明文件是否是全局声
去年学过一段时间的
TS
,但由于在工作中不常用。就生疏了,最近项目要求用
TS
,那我就再回去搞搞
TS
,写一篇记录一下自己学习
TS
的进度以及
TS
知识点
首先,关于
TS
的定义我就不在这描述了,想看百度一下你就知道,我们直接来看怎么用就完事了
npm install -g
typescript
这个命令要是一直下载不下来,请使用yarn
试试
,或者将源指向淘宝,用cnpm都一样
"moduleResolution": "node",
"experimentalDecorators": true,
"allowSyntheticDefaultImpor
ts
": true,
"noImplicitAny": false,
"suppressImplicitAnyIndexErrors": true,
"declaration": true,
"declarationDir": "./types"
"include": ["src/**/*"],
"exclude": ["node_modules", "**/*.spec.
ts
"]
这是一个基本的微信小程序
TypeScript
配置,其中包含了一些常用的选项,比如:
- `"target"`:指定编译的目标 ECMAScript 版本。
- `"module"`:指定模块解析策略。
- `"lib"`:指定编译时需要引用的库文件。
- `"sourceMap"`:是否生成 sourcemap 文件。
- `"outDir"`:指定编译输出目录。
- `"strict"`:启用所有严格类型检查选项。
- `"esModuleInterop"`:启用模块间的互操作性支持。
- `"moduleResolution"`:指定模块解析方式。
- `"experimentalDecorators"`:启用装饰器语法支持。
- `"allowSyntheticDefaultImpor
ts
"`:允许导入默认值。
- `"noImplicitAny"`:禁止隐式的 any 类型。
- `"suppressImplicitAnyIndexErrors"`:禁止隐式的 any 类型索引。
- `"declaration"`:生成 `.d.
ts
` 声明文件。
- `"declarationDir"`:声明文件输出目录。
当然,这只是一个示例,具体的配置取决于你的实际需求。