[英]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.