npm 包 @babel/preset-env 使用教程

基础介绍

@babel/preset-env 是一个 Babel 插件,它包含了所有可以支持的 ECMAScript 特性,并可以根据你的 target 来自动添加所需的语法转换,以实现更好的浏览器兼容性。

简而言之,如果你使用了最新的 JavaScript 语法,但又需要兼容旧版浏览器,那么 @babel/preset-env 就是你的救星!

安装方式

你可以通过 npm 或 yarn 来安装该库。在绝大多数情况下我们都会使用 npm,那么我们可以像下面这样安装:

--- ------- ---------- ----------- -----------------

或者使用 yarn:

---- --- ----- ----------- -----------------

如何使用

安装完必要的依赖后,我们需要在 .babelrc 文件中配置一下。

先来一个 minimal 的配置,只处理 ES6 的语法转换:

-
  ---------- ---------------------
-

这样完全没有问题,但是需求通常是让我们的代码可以在旧版本浏览器上运行。那么我们需要指定 env 的 target 了。

下面是常见的浏览器:

  • { "chrome": "58", "edge": "13", "firefox": "54", "safari": "11.1" } 表示最新版的 Chrome 以及 Edge、Firefox、Safari (包括移动版)中最低支持的版本是对应数字的版本

  • 还有更精细的设置,例如 { "firefox": "50", "chrome": ["49", "55"], "safari": "10.1" },表示 Firefox >=50、Chrome >=49 且 <55,Safari 版本 >=10.1

下面是修改后的 .babelrc 文件:

-
  ---------- -
    -
      --------------------
      -
        ---------- -
          ----------- -
           ----- - ----------
           -- ----
           --- -- --
          -
        -
      -
    -
  -
-

别忘了,我们还可以为每个运行环境指定不同的 @babel/present-env 配置。

除了上述的配置,我还总结了常用的指南和配置项:

常用配置

除了上述的最基本配置外,我们还可以通过一些配置项让我们的编译结果变得不同。

  • debug

默认为false。如果为true,打印所有插件使用情况以及配置。

-
  ---------- -
    --------------------- -
      -------- ----
    --
  -
-
  • modules

默认为 auto。可以是 false 或者 "commonjs",或者 "umd"、"amd" 等其中之一。

-
  ---------- -
    --------------------- -
      ---------- -----
    --
  -
-
  • shippedProposals

默认为 false 。用于支持特定版本将来的 ECMAScript 提案,可能导致编译时间和编译后的输出增大,因此在生产环境中应该禁用。

-
  ---------- -
    --------------------- -
      ------------------- ----
    --
  -
-
  • useBuiltIns

默认为false。告诉 Babel是否使用 polyfill 方法来更好地模拟使用 ECMAScript 6+ 做出的更改并带有 targets。

下面是具体用法:

-
  ---------- -
    --------------------- -
      -------------- --------
      --------- --
      ---------- -
        --------- -----
        ----- ----
      -
     --
  -
-

示例代码

最后给大家分享一下 @babel/preset-env 如何使用 Promise:

首先,我们安装依赖

--- ------- ---------- ----------------------------------- --------------

然后修改 .babelrc 文件如下:

-
  ---------- -
    -
      --------------------
      -
        ---------- ------
        ---------- -
          ----------- -
            ----- - ------ ----------
            ----- - ------- ----------
            ----- - ------ ----------
            ----- - ---- ----------
            --- ---
          -
        -
      -
    -
  --
  ---------- -
    -
      --------------------------------------
      -
        ------------------ -----
        --------------- -----
        ------------- -----
        -------- ----
      -
    -
  -
-

------ -----------------
------ ------------------------------

----------------------------------------

使用上述配置后,编译后的文件即可以在 main 浏览器上顺利运行了,即使你使用了最新的 JavaScript 语法。

来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/85884


猜你喜欢

  • npm 包 @norjs/is 使用教程

    简介 在前端开发中,我们经常需要对数据类型进行判断或者验证,例如判断一个变量是不是字符串,或者验证一个邮箱地址是否符合规范等。这时就需要用到一些工具库或者函数来帮助我们实现这些基本操作。

    5 年前
  • npm包nopg使用教程

    在现代的前端开发中,我们通常会用到各种npm包来方便我们的开发工作。其中一个非常常用的npm包就是nopg。nopg是一个用于Node.js的ORM(对象关系映射)库,它提供了一种简单的方法来操作Po...

    5 年前
  • npm 包 nor-api-profile 使用教程

    概述 nor-api-profile 是一个NPM包,用于生成 Nor-Api 格式中的 profile 对象。它可以用于前端和后端,但最适合用于后端应用程序。借助它,您不必手动编写 profile,...

    5 年前
  • npm 包 nor-acl 使用教程

    前言 在构建 web 应用程序的过程中,安全性通常是我们考虑的关键问题之一。一个常见的需要解决的问题是如何管理访问控制。在这个问题上,nor-acl 这个 npm 包就提供了一种优雅的解决方案。

    5 年前
  • NPM 包 @norjs/nopg 使用教程

    什么是 @norjs/nopg @norjs/nopg 是一个基于 Node.js 的 PostgreSQL 数据库访问库,可以让开发者更方便地通过 JavaScript 代码访问 PostgreSQ...

    5 年前
  • npm 包 @norjs/debug 使用教程

    前言 在前端开发中,调试是非常重要的一个环节。调试过程中需要使用到调试工具,而 @norjs/debug 就是一款非常实用的调试工具包,它可以帮助我们更加高效地进行调试。

    5 年前
  • npm 包 @sendanor/cloud-base 使用教程

    前言 在当今的云计算时代,云服务已经成为了前端开发的必备工具之一。而 @sendanor/cloud-base 则是一款可靠实用的云服务开发工具,支持多种云平台,如 AWS、Google Cloud、...

    5 年前
  • npm 包 @norjs/cloud-common 使用教程

    在现代化的 Web 开发中,前后端分离,云服务和微服务化成为了趋势。为了更好地支持这种开发方式,许多开源库和工具也应运而生。 @norjs/cloud-common 是一个基于 Node.js 平台的...

    5 年前
  • npm 包 @norjs/cloud-client 使用教程

    在前端开发中,我们经常需要与后端进行通信,这就需要使用到一些网络请求库。而 @norjs/cloud-client 就是一款基于 websocket 的网络请求库,它具有快速、稳定、安全的特性,同时使...

    5 年前
  • npm 包 dao-firebird 使用教程

    前言 Node.js 是一个开源、跨平台的 JavaScript 运行环境,可以让 JavaScript 代码脱离浏览器运行,成为一种通用的服务器语言。npm 是 Node.js 的包管理器,托管了众...

    5 年前
  • npm 包 crudo 使用教程

    简介 npm (Node Package Manager) 是 Node.js 包管理器,提供了许多优秀的前端和后端开源包供开发者使用。其中,crudo 就是一款非常实用的前端包,它提供了一组简单易用...

    5 年前
  • npm 包 metalsmith-basic-auth 使用教程

    1. 什么是 metalsmith-basic-auth metalsmith-basic-auth 是一个适用于 Node.js 项目的认证授权中间件,基于 Passport.js 和 Basic ...

    5 年前
  • npm 包 cas-sfu 使用教程

    什么是 cas-sfu cas-sfu 是一个用于登录和认证用户的 npm 包。它是由 Simon Fraser 大学开发的一个基于 CAS 协议的 Single Sign-On 组件。

    5 年前
  • npm 包 nodejs-intro 使用教程

    前言 Node.js 是一个服务器端 JavaScript 运行环境,并且 Node.js 可以基于 V8 引擎构建高效的网络应用程序。使用 Node.js 可以广泛地应用于 web 开发、命令行工具...

    5 年前
  • npm 包 haibu 使用教程

    前言 在现代的前端开发中,使用 npm 是必不可少的一项技能。而 haibu 这个 npm 包,可以让我们更好地管理、部署我们的应用。本文将详细介绍 haibu 的使用方法,包括安装、配置、部署和监控...

    5 年前
  • npm 包 doxybox 使用教程

    在前端开发中,有很多 npm 包可以帮助我们快速实现一些功能。其中,doxybox 是一个非常好用的工具,可以帮助我们生成 API 文档。本文就来介绍一下 doxybox 的使用教程。

    5 年前
  • npm 包 dav-proxy 使用教程

    简介 dav-proxy 是一个基于 Node.js 平台的 WebDAV 代理,支持将远程 WebDAV 服务器映射到本地,从而可以通过 HTTP 请求访问远端 WebDAV 资源。

    5 年前
  • npm 包 cmps 使用教程

    当我们在前端项目中需要使用复杂组件时,一种常见的方式是通过 npm 安装并使用现成的组件库。其中一个非常流行的组件库是 cmps,它提供了许多易于定制和使用的复杂组件。

    5 年前
  • npm 包 easy-schemas 使用教程

    介绍 easy-schemas 是一个基于 JavaScript 的 npm 包,用于简化和优化前端开发过程中的数据验证流程。它使用 JSON Schema 标准来定义数据模型和验证规则,支持不同数据...

    5 年前
  • npm 包 component-dev-build 使用教程

    什么是 component-dev-build component-dev-build 是一个前端工具,可以帮助我们快速搭建组件开发环境。它提供了一系列命令,包括创建组件模板、本地开发调试、打包构建等...

    5 年前

相关推荐

    暂无文章