【问题记录】‘package.json‘不在‘rootdir‘下

问题描述

迁移两年前的老项目,项目运行ts出现以下报错

TS6059: File ‘/Users/hz-mb-170/Desktop/Work/hidden-title/package.json’ is not under ‘rootDir’ ‘/Users/hz-mb-170/Desktop/Work/hidden-title/src’. ‘rootDir’ is expected to contain all source files.
在这里插入图片描述
在这里插入图片描述

问题解决

修改tsconfig.json就可完美解决
改之前—不要拷贝
在这里插入图片描述
改之后
在这里插入图片描述

问题分析

  • 百度找到的解决办法,原理我也不太清楚,大家可以一起交流一下
  • 原文链接
### 正确配置 `incremental` 和 `composite` 选项 #### 配置 `incremental` 为了提高大型项目的编译速度,可以启用增量编译功能。当此选项设置为 true 时,TypeScript 编译器会在每次编译后保存有关程序结构的信息,并在后续编译中利用这些信息加快处理速度。 ```json { "compilerOptions": { "incremental": true, "outDir": "./dist" } } ``` 通过这种方式,在修改源代码之后再次运行 tsc 命令时,只有那些受到影响的部分才会被重新编译[^1]。 #### 使用 `composite` 对于更复杂的多包项目而言,则可能需要用到复合项目支持。这允许不同模块之间相互依赖的同时保持各自的独立性。要开启这一特性需满足几个条件: - 设置 `"declaration"` 为 `true` - 添加 `"rootDir"` - 将 `"composite"` 设定成 `true` 下面是一个典型的 tsconfig.json 文件片段用于启动该模式: ```json { "compilerOptions": { "declaration": true, "rootDir": ".", "outDir": "../built/local", "composite": true }, "references": [ { "path": "../otherpackage" } ] } ``` 这里还展示了如何指定外部引用路径以便于跨多个子项目工作。需要注意的是,如果启用了 `composite`,那么也应当相应调整输出目录(`outDir`)的位置以避免冲突[^2]。 #### 实际应用案例 在一个基于 Vue 的 TypeScript 应用开发环境中,通常会有如下三个主要的 tsconfig 文件:`tsconfig.json`,`tsconfig.app.json`以及`tsconfig.node.json`. 其中前两者主要用于客户端应用程序逻辑部分;而后者则专注于服务端构建工具链如 Vite 的配置文件解析。因此可以根据实际需求在这几处分别加入上述提到的相关配置项来优化整体性能表现.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值