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 正确设置配置值的主要内容,如果未能解决你的问题,请参考以下文章

设置一个配置 PHP 类来保留项目设置是不是正确?

babel的 使用,和安装配置

babel的使用以及安装配置

如何使用 babel

七牛云存储如何正确设置流量带宽告警配置(阈值告警)?

转码器babel