资讯专栏INFORMATION COLUMN

以何种方式使用babel?(6种)

mengbo / 2182人阅读

摘要:以何种方式使用种可以配置许多其他工具也有类似的配置,。允许使用所有但是,如果该选项需要,则可能需要使用自身使用的配置文件地址以何种方式使用在项目的根目录中创建一个文件。可以访问任何,例如基于流程环境的动态配置使用使用

以何种方式使用babel?(6种)

【01】Babel可以配置!许多其他工具也有类似的配置:ESLint(.eslintrc),Prettier (.prettierrc)。

允许使用所有Babel API

但是,如果该选项需要JavaScript,则可能需要使用JavaScript

【02】babel自身使用的配置文件地址:https://github.com/babel/babe...

以何种方式使用babel?

01、babel.config.js

在项目的根目录中创建一个babel.config.js文件。使用以下内容。

module.exports = function (api) {
  api.cache(true);

  const presets = [ ... ];
  const plugins = [ ... ];

  return {
    presets,
    plugins
  };
}

【】例子:

以下的浏览器列表只是一个随意的例子。您必须根据要支持的浏览器进行调整。

const presets = [
  [
    "@babel/env",
    {
      targets: {
        edge: "17",
        firefox: "60",
        chrome: "67",
        safari: "11.1",
      },
      useBuiltIns: "usage",
    },
  ],
];

module.exports = { presets };

运行此命令将src目录中的所有代码编译为lib目录:

./node_modules/.bin/babel src --out-dir lib


02、.babelrc

在项目的根目录中创建一个.babelrc文件。使用以下内容。

一个仅适用于简单单个包的静态配置。

{
  "presets": [...],
  "plugins": [...]
}

03、package.json

在package.json配置.babel属性。

{
  "name": "my-package",
  "version": "1.0.0",
  "babel": {
    "presets": [ ... ],
    "plugins": [ ... ],
  }
}

04、.babelrc.js

配置.babelrc与之相同,但可以使用JavaScript编写它。

const presets = [ ... ];
const plugins = [ ... ];

module.exports = { presets, plugins };

可以访问任何Node.js API,例如基于流程环境的动态配置:

const presets = [ ... ];
const plugins = [ ... ];

if (process.env["ENV"] === "prod") {
  plugins.push(...);
}

module.exports = { presets, plugins };

05、使用CLI(@babel/cli)

babel --plugins @babel/plugin-transform-arrow-functions script.js

06、使用API(@babel/core)

require("@babel/core").transform("code", {
  plugins: ["@babel/plugin-transform-arrow-functions"]
});

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/105422.html

相关文章

  • webpack学习笔记1

    摘要:头部资源终将占据统治地位,成为前端项目构建工具的头部资源。模块化编程模块的概念是将程序拆解为离散的功能块,通常称这些功能块为模块。模块相对于程序而言,具有更小的体积,单个模块具有清晰的目的,方便进行开发测试维护等工作。 webpack作用 webpack可以将前端工程中所有的静态资源打包成为一个或者多个js,静态资源包括css、图片等。 为什么要使用webpack,没有打包工具之前,页...

    legendaryedu 评论0 收藏0
  • 从 JavaScript 到 TypeScript - 模块化和构建

    摘要:不过,相对于静态类型检查带来的好处,这些代价是值得的。当然少不了的模块化标准,虽然到目前为止和大部分浏览器都还不支持它。本身支持两种模块化方式,一种是对的模块的微小扩展,另一种是在发布之前本身模仿的命名空间。有一种情况例外。 TypeScript 带来的最大好处就是静态类型检查,所以在从 JavaScript 转向 TypeScript 之前,一定要认识到添加类型定义会带来额外的工作量...

    Jonathan Shieber 评论0 收藏0
  • 写了十年JS却不知道模块化为何物?

    摘要:于是模块化的需求也就产生了。现存的规范还真不少,不知道能否终结这场混战和分别是和定义的标准。是使用的模块化标准。的模块化声明的方式与类似,只是更进一步,天然隔离了命名空间。其他,关于前端化趋势模块化意味着什么更强大的前端,技术整体前移。 作者:肖光宇野狗科技联合创始人,先后在猫扑、百度、搜狗任职,爱折腾的前端工程师。野狗官博:https://blog.wilddog.com/ 野狗官网...

    LittleLiByte 评论0 收藏0
  • Vue+webpack+Element 兼容问题总结

    摘要:项目中用到了和官方文档中给出明确范围不支持及以下版本,因为使用了无法模拟的特性。但它支持所有兼容的浏览器。词法分析阶段把字符串形式的代码转换为令牌流。语法分析阶段会把一个令牌流转换成的形式方便后续操作。利用我们配置好的把生成的转变为新的。 项目中用到了Vue.js和Elenment-UIVue官方文档中给出明确范围:Vue 不支持 IE8 及以下版本,因为 Vue 使用了 IE8 无法...

    fxp 评论0 收藏0
  • Vue+webpack+Element 兼容问题总结

    摘要:项目中用到了和官方文档中给出明确范围不支持及以下版本,因为使用了无法模拟的特性。但它支持所有兼容的浏览器。词法分析阶段把字符串形式的代码转换为令牌流。语法分析阶段会把一个令牌流转换成的形式方便后续操作。利用我们配置好的把生成的转变为新的。 项目中用到了Vue.js和Elenment-UIVue官方文档中给出明确范围:Vue 不支持 IE8 及以下版本,因为 Vue 使用了 IE8 无法...

    sumory 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<