gpt4 book ai didi

babeljs - Babel 输出路径来维护输入路径的目录结构

转载 作者:行者123 更新时间:2023-12-02 00:53:58 28 4
gpt4 key购买 nike

给定以下示例目录结构:

srcDir/file1.js
srcDir/subDir1/file2.js
srcDir/subDir2/file3.js

我想用 babel-cli 处理这些文件以便输出文件最终在 destDir具有相同的相对目录结构。

那是:
destDir/file1.js
destDir/subDir1/file2.js
destDir/subDir2/file3.js

我不想处理 srcDir 中的所有文件,只是其中一些。

我想我必须指定一个输入目录、一个文件路径列表和一个输出目录。
但是 Babel 的命令行帮助并没有解释怎么做。
Usage: babel [options] <files ...>

Options:
-f, --filename [filename] filename to use when reading from stdin - this will be used in source-maps, errors etc
--presets [list] comma-separated list of preset names
--plugins [list] comma-separated list of plugin names
--config-file [path] Path to a .babelrc file to use
--env-name [name] The name of the 'env' to use when loading configs and plugins. Defaults to the value of BABEL_ENV, or else NODE_ENV, or else 'development'.
--root-mode [mode] The project-root resolution mode. One of 'root' (the default), 'upward', or 'upward-optional'.
--source-type [script|module]
--no-babelrc Whether or not to look up .babelrc and .babelignore files
--ignore [list] list of glob paths to **not** compile
--only [list] list of glob paths to **only** compile
--no-highlight-code enable/disable ANSI syntax highlighting of code frames (on by default)
--no-comments write comments to generated output (true by default)
--retain-lines retain line numbers - will result in really ugly code
--compact [true|false|auto] do not include superfluous whitespace characters and line terminators
--minified save as much bytes when printing [true|false]
--auxiliary-comment-before [string] print a comment before any injected non-user code
--auxiliary-comment-after [string] print a comment after any injected non-user code
-s, --source-maps [true|false|inline|both]
--source-map-target [string] set `file` on returned source map
--source-file-name [string] set `sources[0]` on returned source map
--source-root [filename] the root from which all sources are relative
--module-root [filename] optional prefix for the AMD module formatter that will be prepend to the filename on module definitions
-M, --module-ids insert an explicit id for modules
--module-id [string] specify a custom name for module ids
-x, --extensions [extensions] List of extensions to compile when a directory has been input [.es6,.js,.es,.jsx,.mjs]
--keep-file-extension Preserve the file extensions of the input files
-w, --watch Recompile files on changes
--skip-initial-build Do not compile files before watching
-o, --out-file [out] Compile all input files into a single file
-d, --out-dir [out] Compile an input directory of modules into an output directory
--relative Compile into an output directory relative to input directory or file. Requires --out-dir [out]
-D, --copy-files When compiling a directory copy over non-compilable files
--include-dotfiles Include dotfiles when compiling and copying non-compilable files
--verbose Log everything
--delete-dir-on-start Delete the out directory before compilation
-V, --version output the version number
-h, --help output usage information

最佳答案

所以我发现,如果你这样做 babel * -d ./build/然后它将展平所有第一级目录。

所以我有

-- server/
| apis/
| mainApi.js
| store/
| models/
| User.js
| index.js


来自 ./server我运行的目录 babel * -d ./build/ ,所以我得到:
-- server/
| build/
| models/
| User.js
| index.js
| mainApi.js
| apis/
| mainApi.js
| store/
| models/
| User.js
| index.js


输出变平,但仍有 models文件夹 User.js in,这让我相信第一级目录会被扁平化。

所以我把所有东西都放进了 server/src/文件夹和来自 ./server/运行 babel src/ -d ./build/现在它保留了我的目录结构。
-- server/
| build/
| apis/
| mainApi.js
| store/
| models/
| User.js
| index.js
|
| src/
| apis/
| mainApi.js
| store/
| models/
| User.js
| index.js

关于babeljs - Babel 输出路径来维护输入路径的目录结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55643879/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com