![](/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.