簡體   English   中英

Parceljs 在構建時忽略 tsconfig.json 的規則

[英]Parceljs ignore the rules of tsconfig.json on build

我目前正在使用typescript打包程序 ParcelJs開發一個 React 項目。 我正在使用tsconfig.json文件來配置打字稿,但出於某種我不知道的原因,Parcejs 認為它​​不會忽略構建時的所有錯誤。

例如,我寫了這段在打字稿中無效的代碼:

const message: number = "Hello world!";

我的 eslint 正確觸發了這個錯誤:

類型 '"Hello world!"' 不能分配給類型 'number'

但是當我使用parcel ./src/index.tsx構建這個文件時,它編譯沒有錯誤。

根據官方文檔和這個問題,我需要在 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 仍然可以成功構建而沒有任何問題,就好像配置文件被忽略一樣

有沒有人知道如何讓 ParcelJs 考慮打字稿配置?

我認為2.0.0-nightly.112在我進行此修復之前已發布。 當我不小心安裝了舊版本的 Parcel 時,也有這個問題困擾着我。 您可以嘗試安裝parcel@parcel/validator-typescript .parcel-cache的最新夜間版本,刪除您的.parcel-cache文件夾.parcel-cache試嗎? 如果那不起作用,您介意分享一個我可以嘗試重現問題的回購嗎?

要嘗試的另一件事是確保在包含tsconfig.json的同一目錄中有一個yarn.lock文件。 通過查看代碼,我知道parcel 有時會使用它來檢測項目的根目錄(以及tsconfig.json文件)。 如果parcel 找不到tsconfig.json文件,則不會由於此問題進行類型檢查 (如果這是根本原因,那可能是我們應該使用 Parcel 修復的問題,但最好進行測試)。

我正在修復的@parcel/validator-typescript另一個當前問題是#4204 ,但根據您的描述,我認為這不是您遇到問題的原因。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM