使用 Babel watcher 转译时如何忽略父目录 "src"

How to ignore the parent "src" directory when transpiling using Babel watcher

我的代码具有目录结构:

project-root/
└── src/
    └── main.js

当我运行默认的 Babel 文件观察器时,代码被转译到一个 dist 文件夹中,包括它路径中的 src 目录,如下所示:

project-root/
└── src/
    ├── main.js
    dist/
    └── src
        └── main.dist.js

我想要的是将 src 从路径中排除 - 换句话说,将 src 中的转译代码 "unwrapped" 并直接编译到 dist 中,如下所示:

project-root/
└── src/
    ├── main.js
    dist/
    └── main.dist.js

是否可以更改观察器配置来实现此目的?我想不通!非常感谢任何帮助。

这是 --out-dir Babel CLI 选项行为 - 它会在目标目录中重新创建源文件夹结构(相对于工作目录)。

这里有 2 个选项:

  • 改用--out-file
  • src设置为您的工作目录

第一个选项的可能设置:

Arguments: $FilePathRelativeToProjectRoot$ --out-file dist/$FileNameWithoutExtension$.js --source-maps --presets env
Output paths to refresh: dist$FileNameWithoutExtension$.js:dist$FileNameWithoutExtension$.js.map

第二个:

Arguments: $FileDirPathFromParent(src)$$FileName$ --out-dir $ProjectFileDir$/dist --source-maps --presets env
Output paths to refresh: $ProjectFileDir$/dist/$FileDirPathFromParent(src)$FileNameWithoutExtension$.js:$ProjectFileDir$/dist/$FileDirPathFromParent(src)$FileNameWithoutExtension$.js.map
Working directory: $ContentRoot$\src