Babel-CLI 正确设置配置值
Posted
技术标签:
【中文标题】Babel-CLI 正确设置配置值【英文标题】:Babel-CLI set config value correctly 【发布时间】:2020-11-30 00:34:30 【问题描述】:我正在尝试添加一个使用 babel CLI 转换我的 ES6 的构建命令。我很难将它正确指向 babelrc。
文件结构大致如下:
root
src
index.js
...
.babelrc
.package.json
在我的 package.json 中,我最初尝试了以下内容:
"scripts":
"build": "babel --out-dir dist src",
...
,
但是由于我在代码中使用了数组解构符号,这导致了错误。我认为这是因为它没有拾取我的.babelrc
文件。使用
babel --presets=@babel/preset-env --out-dir dist src
而是解决了这个问题。但我宁愿不必在这里指定插件等,而是依赖.babelrc
文件。
通过阅读this issue,我得到的印象是 babel 在 src
而不是 root
中寻找配置文件。查看the documentation 似乎有一个指定配置文件的选项,但我不能让它正常工作。我的尝试:
babel --config-file .babelrc --out-dir dist src
【问题讨论】:
顺便说一句,命令不应该是babel src --out-dir dist
吗?
【参考方案1】:
Babel 应该已经自动获取了.babelrc
文件。如果要添加该预设,则应指定
// ... more .babelrc up here
"presets": ["@babel/preset-env"]
// ... more .babelrc down here
在您的 .babelrc
文件中。
但是 babel 会自动在目录中搜索最近的 .babelrc
文件,从入口文件开始向上搜索(在底部指定 here)。
【讨论】:
该预设已经在我的.babelrc
文件中。这就是我希望它接受的,但目前它还没有这样做。
webpack,正在从 .babelrc
文件中获取它。但是 babel-cli 不是出于某种原因。【参考方案2】:
您可以使用./node_modules/.bin/babel
代替babel
。
这周为我工作。
检查 babel-cli 概述中的第 3 点 https://babeljs.io/docs/en/usage
并运行此命令将所有代码从 src 目录编译到 lib:
./node_modules/.bin/babel src --out-dir lib
您可以使用 npm@5.2.0 附带的 npm 包运行程序通过将
./node_modules/.bin/babel
替换为npx babel
来缩短该命令
【讨论】:
【参考方案3】:对于 Babel 版本 7.x,它会在文件中查找项目范围的配置,名称如下 - babel.config.json|js|cjs|mjs
。查看文档here。
【讨论】:
以上是关于Babel-CLI 正确设置配置值的主要内容,如果未能解决你的问题,请参考以下文章