我目前正在使用打字稿和捆绑器ParcelJs进行React项目。我正在使用tsconfig.json
文件来配置打字稿,但是由于我不知道的某些原因,Parcejs不会忽略它在构建时的所有错误。
例如,我编写的这段代码在打字稿中无效:
const message: number = "Hello world!";
我的陪同人员正确触发了此错误:
类型'“ Hello world!”'不能分配给类型'数字'
但是当我使用parcel ./src/index.tsx
构建此文件时,它会编译而不会出错。
根据官方文档和this issue,我需要在ParcelJs配置文件.parcelrc
中声明一个Validator:
{
"extends": "@parcel/config-default",
"validators": {
"*.{ts,tsx}": ["@parcel/validator-typescript"]
}
}
包裹验证器需要安装在package.json
中:
...
"dependencies": {
"@parcel/validator-typescript": "2.0.0-nightly.112",
...
所以最后我的项目结构如下:
├── .cache/
├── dist/
├── src/
│ ├── index.tsx
├── .parcelrc
├── package.json
├── tsconfig.json
.parcelrc
文件中写入了无效的json数据,则ParcelJs仍然可以成功构建而不会出现任何问题,就像忽略了配置文件一样有人知道如何获取ParcelJ以考虑打字稿配置吗?
答案 0 :(得分:1)
我认为2.0.0-nightly.112
是在我制作this fix之前发布的。当我不小心安装了旧版本的包裹时,还有this issue咬住了我。您可以尝试安装parcel
和@parcel/validator-typescript
的最新夜间版本,删除.parcel-cache
文件夹并重试吗?如果那行不通,您介意共享一个回购协议,以便我尝试重现该问题吗?
另一种尝试是确保在包含yarn.lock
的同一目录中有一个tsconfig.json
文件。通过查看代码,我知道包裹有时会使用它来检测项目(以及tsconfig.json
文件)的根目录。如果宗地找不到tsconfig.json
文件,则由于this issue而不会进行类型检查。 (如果这是根本原因,则可能是我们应该使用Parcel修复的问题,但是进行测试将是一件好事。)
我正在解决的@parcel/validator-typescript
的另一个当前问题是#4204,但是根据您的描述,我认为这不是造成您遭受打击的原因。