VUE使用过程中的碰到问题记录
1. 为什么 Vite + Vue + Ts 项目会有三个 tsconfig 文件
在使用 Vite 创建 vue-ts 模板的项目时,会发现除了 tsconfig.json 外,还有一个 tsconfig.node.json 和 tsconfig.app.json 文件。并在 tsconfig.json 使用了 references 字段引用了其他两个文件
tsconfig.json 是 TypeScript 项目的配置文件,放在项目的根目录。主要供tsc编译器使用。
TypeScript 3.0 新增的 项目引用(Project References) 功能,它允许用户为项目的不同部分使用不同的 TypeScript 配置。
- 关于 tsconfig.node.json, 注意到 "include": ["vite.config.ts"] 这段代码,它说明 tscnofig.node.json 是专门用于 vite.config.ts 这一文件的 TypeScript 配置文件。
- 关于 tsconfig.app.json, 注意到 "include": ["src/**/*.ts", "src/**/*.tsx", "src/**/*.vue"] 这段代码,它说明 tscnofig.app.json 是专门用于 src 代码文件的。
如果要控制 src 文件夹下的文件的编译行为的时候,就需要在 tsconfig.app.json 文件中添加对应的配置;反之,如果要控制 vite.config.ts 的编译行为就在 tsconfig.node.json 中添加配置。
2. 无法使用 JSX,除非提供了 "--jsx" 标志。ts(17004)
模块 已解析为 xx.tsx,但尚未设置 "--jsx"。ts(6142)
tsconfig.json文件中compilerOptions配置中的"jsx"改为"preserve,如果项目中有 tscnofig.app.json 文件,则添加在该文件中:
"jsx": "preserve"
3. 模块 只能在使用 "esModuleInterop" 标志时进行默认导入
tsconfig.json文件中compilerOptions配置中处理,如果项目中有 tscnofig.app.json 文件,则添加在该文件中:
"esModuleInterop": true
4. 类型“{}”上不存在属性“xxxx”。ts(2339)
参考网上博客:类型“{}”上不存在属性“xxx”。ts(2339)-解决方案集锦_ts-plugin(2339)-CSDN博客
仍然无法解决我的问题,继续寻找。