![](/img/trans.png)
[英]Babel 7.18 doesn't transpile components outside the project root directory
[英]Babel creates output directory but doesn't transpile any files
我正在嘗試編譯一個使用 ES6 語法和 TypeScript 的項目。 我有一個這樣的目錄結構:
├── .babelrc
├── src
├── index.ts
└── pitching
├── pitching.test.ts
└── pitching.ts
我想將src
和 output 中的所有內容編譯到dist/
中。 我嘗試了以下命令的許多變體(在package.json
的"build"
腳本中指定):
babel ./src -d ./dist
但我總是得到以下 output:
$ babel ./src -d ./dist
Successfully compiled 0 files with Babel (13ms).
Done in 0.32s
結果是我的項目根目錄中的一個空dist/
目錄。 我嘗試編譯到單個文件而不是目錄,這確實創建了一個編譯文件,但是代碼中引用的所有模塊路徑都被弄亂了,因為它們是相對於src
目錄的。 我只提到這一點是因為對我來說它表明我的 babel 設置是正確的,盡管我可能也錯了。
我的問題是,為什么我的文件沒有被轉譯,或者我該如何排除故障? 該命令沒有給我任何有用的 output,即使我將{"debug": true}
添加到我的.babelrc
的預設中。
作為參考,這里是我正在使用的 babel 包和版本:
"devDependencies": {
"@babel/cli": "^7.10.3",
"@babel/core": "^7.10.3",
"@babel/preset-env": "^7.10.3",
"@babel/preset-typescript": "^7.10.1",
"@types/jest": "^26.0.3",
"jest": "^26.1.0"
}
這是我的.babelrc
{
"presets": ["@babel/preset-env", "@babel/preset-typescript"]
}
嘗試將ts
添加到擴展中:
babel --extensions '.ts' ./src -d ./dist
babel/preset-typescript
typescript 需要一個額外的參數來按預期進行轉換。 請參閱此處的文檔。
就我而言,我已經在使用--extensions '.ts'
標志,但仍然得到“成功編譯 0 個文件”。 我不確定我們的設置之間還有什么不同,但對我來說解決的是這里概述的解決方案。 一旦我刪除了.ts
周圍的環繞引號,它就開始工作了。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.