【问题标题】:Babili minifies but does not transpileBabili 缩小但不转译
【发布时间】:2017-05-24 02:54:13
【问题描述】:

我被babili卡住了。

我需要transpile,然后缩小用ES6 编写的javascript。所以我安装了这个包:

npm install babili --save-dev

并制作了包含预设的.babelrc 文件:

{"presets": ["es2015"]}

现在我尝试了以下命令

./node_modules/.bin/babili public/js/rt.socket.js --out-file public/test.min.js

它确实提供了缩小但不转换。这可能是什么原因? `

【问题讨论】:

  • Babili 的工作是缩小,而不是转译。

标签: javascript node.js ecmascript-6 babeljs babili


【解决方案1】:

Babili 不使用.babelrc。根据README

请注意,由于babili 命令使用no-babelrc 的默认预设,因此您无法使用此命令在预设插件中设置任何非默认选项。为此,您可以使用带有.babelrc 中设置的选项的babel 命令。有关如何执行此操作的更多信息,请参阅预设文档。

解决方案是使用带有 babel-preset-babili 预设的 Babel,如 README 的 Babel preset 部分所述(假设您已经安装了 Babel):

安装

npm install babel-preset-babili --save-dev

用法

您很可能只想在生产环境中使用它。 查看env docs 获取更多帮助。

特定环境的特定选项被合并并覆盖非特定环境的选项。

.babelrc:

{
  "presets": ["es2015"],
  "env": {
    "production": {
      "presets": ["babili"]
    }
  }
}

然后你需要设置环境变量,它可能类似于 BABEL_ENV=production npm run build

【讨论】:

  • 好的。有没有办法可以将babel 的输出通过管道传输到babili 以便只创建一个文件?我在 unix shell 上。
  • 如果你将 Babili 预设与 Babel 一起使用,如上所述,只会创建一个文件。
  • 我已经用babel安装了babili预设但是不明白怎么用。
  • Babili 预设与其他 Babel 预设完全一样。请参阅Babel docsBabili README。如果您已尽力遵循文档,请创建一个新问题,准确描述您尝试过的内容,包括配置文件的内容和您键入的命令,以及您得到的结果。
猜你喜欢
  • 2016-03-10
  • 1970-01-01
  • 2011-03-16
  • 1970-01-01
  • 2018-04-14
  • 1970-01-01
  • 2019-07-14
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多