首页 > 解决方案 > 我可以使用 Browserify CLI 将选项传递给 babel 预设吗?

问题描述

我可以使用 browserify CLI 编译一些 React 应用 JavaScript,如下所示:

browserify \
 --transform [ babelify --presets [ @babel/preset-env @babel/preset-react ] \
 -o output.js input.js

但是,我想将一个选项传递给“@babel/preset-env”预设。我想我会通过简单地嵌套更多的括号来做到这一点,比如:

browserify \
 --transform [ babelify --presets [ \
  [ @babel/preset-env --useBuiltins usage ] \
  @babel/preset-react \
 ] \
 -o output.js input.js

但是后来我开始从 Babel 收到一个奇怪的错误,这似乎表明它没有像我预期的那样通过选项:

ReferenceError:[BABEL] input.js:未知选项:._。查看https://babeljs.io/docs/en/babel-core/#options了解有关选项的更多信息。解析文件时:input.js

我如何通过相当于

transform: [
  ['babelify', {
    presets: [
      ['@babel/preset-env', {useBuiltIns:'usage'}],
      '@babel/preset-react'
    ]
  }]

通过browserify命令行界面?

标签: command-line-interfacebrowserify

解决方案


Babelify 不支持通过 CLI 传递预设或插件选项。通常,该-p [ @babel/preset-env --no-modules ]语法将用于此目的,但 babelify 使用它来传递数组。相反,您必须使用.babelrc.


推荐阅读