Babel 创建输出目录但不转换任何文件
Babel creates output directory but doesn't transpile any files
我正在尝试转译一个使用 ES6 语法和 TypeScript 的项目。我有这样的目录结构:
├── .babelrc
├── src
├── index.ts
└── pitching
├── pitching.test.ts
└── pitching.ts
我想编译 src
中的所有内容并输出到 dist/
。我尝试了以下命令的多种变体(在 package.json
中的 "build"
脚本中指定):
babel ./src -d ./dist
但我总是得到以下输出:
$ babel ./src -d ./dist
Successfully compiled 0 files with Babel (13ms).
Done in 0.32s
结果是我的项目根目录中的空 dist/
目录。我尝试编译为单个文件而不是目录,这确实创建了一个编译文件,但代码中引用的所有模块路径都被弄乱了,因为它们是相对于 src
目录的。我只提到这个是因为对我来说它表明我的 babel 设置是正确的,尽管也许我也错了。
我的问题是,为什么我的文件没有被转译,或者我该如何排除故障?该命令没有给我任何有用的输出,即使我将 {"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"]
}
尝试添加正确的文件扩展名。这样做的原因是 babel/preset-typescript
需要一个额外的参数来按预期进行转换。请参阅文档 here。
React 应用程序同时编译 ts
和 tsx
文件。
babel --extensions .ts,.tsx ./src -d ./dist
普通打字稿应用程序仅使用 ts
个文件。
babel --extensions .ts ./src -d ./dist
在我的例子中,我已经使用了 --extensions '.ts'
标志,但仍然得到“成功编译 0 个文件”。我不确定我们的设置之间还有什么不同,但对我来说解决它的是概述的解决方案 here。一旦我 删除 .ts
周围的环绕引号,它就开始工作了。
我正在尝试转译一个使用 ES6 语法和 TypeScript 的项目。我有这样的目录结构:
├── .babelrc
├── src
├── index.ts
└── pitching
├── pitching.test.ts
└── pitching.ts
我想编译 src
中的所有内容并输出到 dist/
。我尝试了以下命令的多种变体(在 package.json
中的 "build"
脚本中指定):
babel ./src -d ./dist
但我总是得到以下输出:
$ babel ./src -d ./dist
Successfully compiled 0 files with Babel (13ms).
Done in 0.32s
结果是我的项目根目录中的空 dist/
目录。我尝试编译为单个文件而不是目录,这确实创建了一个编译文件,但代码中引用的所有模块路径都被弄乱了,因为它们是相对于 src
目录的。我只提到这个是因为对我来说它表明我的 babel 设置是正确的,尽管也许我也错了。
我的问题是,为什么我的文件没有被转译,或者我该如何排除故障?该命令没有给我任何有用的输出,即使我将 {"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"]
}
尝试添加正确的文件扩展名。这样做的原因是 babel/preset-typescript
需要一个额外的参数来按预期进行转换。请参阅文档 here。
React 应用程序同时编译 ts
和 tsx
文件。
babel --extensions .ts,.tsx ./src -d ./dist
普通打字稿应用程序仅使用 ts
个文件。
babel --extensions .ts ./src -d ./dist
在我的例子中,我已经使用了 --extensions '.ts'
标志,但仍然得到“成功编译 0 个文件”。我不确定我们的设置之间还有什么不同,但对我来说解决它的是概述的解决方案 here。一旦我 删除 .ts
周围的环绕引号,它就开始工作了。