npm 包 babel-plugin-jsx-target-blank 使用教程

在前端开发中,我们经常需要处理页面中的链接。其中一个常见的需求就是在链接打开时弹出新的窗口,而非在当前窗口中打开链接。通常情况下,我们会使用 target="_blank" 属性来实现这个目标。但是在 React 中,如果直接在 jsx 中写 target="_blank",则会有一些安全问题。

幸运的是,我们可以使用一个 npm 包 babel-plugin-jsx-target-blank 来解决这个问题。这个包可以将所有 target="_blank" 自动替换成 rel="noopener noreferrer" target="_blank",从而避免安全问题。

安装

使用 npm 安装 babel-plugin-jsx-target-blank:

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

配置

在 .babelrc 中添加以下配置:

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

这里我们可以指定需要排除的文件名,并设置是否打印警告。

使用

现在我们可以在 jsx 中愉快地使用 target="_blank" 了:

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

示例代码

为了更好地理解这个包的使用方法,这里提供一个简单的示例代码。

假设我们有一个用于展示新闻列表的组件 NewsList。每条新闻都有一个链接,需要在新窗口中打开。

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

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

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

这个组件中的链接使用了 target="_blank",存在安全问题。现在我们可以使用 babel-plugin-jsx-target-blank 来解决这个问题:

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

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

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

最终在编译后的代码中,所有的链接都会被替换成 rel="noopener noreferrer" target="_blank"。

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


猜你喜欢

  • npm 包 localhost.daplie.me-certificates 使用教程

    简介 在进行前端开发时,我们经常需要使用 oAuth、HTTPS 等协议来进行数据传输,而这些协议需要使用 HTTPS 相应的证书来进行加密处理,以增加数据的安全性。

    3 年前
  • npm 包 mongoose-attach 使用教程

    如果你需要在 Node.js 应用程序中使用 MongoDB 数据库进行数据存储,那么很可能你已经熟悉了使用 Mongoose 库。Mongoose 是一个用于构建 MongoDB 的 Node.js...

    3 年前
  • npm 包 upgrade-angular 使用教程

    前言 Angular 是一个流行的前端框架,但是升级 Angular 的过程通常比较麻烦。为了帮助开发者更方便地升级 Angular,npm 社区提供了一个名为 upgrade-angular 的 n...

    3 年前
  • npm包bk-angular-data-table使用教程

    前言 在前端开发中,数据表格是非常常见的组件之一,而bk-angular-data-table是一个强大的npm包,提供了许多实用的功能。本文将详细介绍如何使用这个包来创建数据表格,包括: 安装bk...

    3 年前
  • npm 包 jsonmvc-module-ajax 使用教程

    本文将介绍一个 npm 包 jsonmvc-module-ajax,它是 jsonmvc 架构中处理 HTTP 请求和响应的模块。 jsonmvc 简介 jsonmvc 是一个基于事件驱动的 Java...

    3 年前
  • npm 包 cookiesplease 使用教程

    在前端开发中,我们通常需要在客户端浏览器中设置和读取 Cookie。而使用 npm 包 cookiesplease,可以帮助我们更轻松地操作和管理 Cookie。 安装 使用 npm 安装 cooki...

    3 年前
  • npm 包 jsonmvc-module-forms 使用教程

    在前端开发中,我们常常需要构建复杂的表单或者用户输入界面。作为一个流行的 JavaScript 包管理工具,npm 提供了很多可以加速我们开发的 npm 包,例如 jsonmvc-module-for...

    3 年前
  • npm 包 jsonmvc-module-firebase 使用教程

    前言 随着移动互联网的发展,前端技术也在不断地进步和发展。我们在开发过程中常常需要使用到第三方的模块,npm 包是目前最常用的模块管理工具之一。在这篇文章中,我们将详细细讲解 npm 包 jsonmv...

    3 年前
  • npm 包 jsonmvc-module-time 使用教程

    简介 npm 是 JavaScript 的包管理工具,它可以帮助前端开发者管理各种开发时需要的依赖包,其中 jsonmvc-module-time 是一个非常实用的 npm 包。

    3 年前
  • npm 包 jsonmvc-module-framework7 使用教程

    在前端开发过程中,经常需要使用各种 npm 包来帮助我们快速搭建出所需的应用。jsonmvc-module-framework7 是一款非常实用的 npm 包,它可以帮助我们搭建出基于 Framewo...

    3 年前
  • npm 包 unnotify 使用教程

    在前端开发中,我们需要很多工具帮助我们提高工作效率。其中, npm 包是一个极为重要的工具,可以帮助我们轻松地安装和管理依赖包。在这里,我要向大家介绍一个很有用的 npm 包,名为 unnotify。

    3 年前
  • npm 包 jsonmvc-util-changes 使用教程

    在 Web 前端开发中,我们常常需要处理一些数据的变化。而 jsonmvc-util-changes 这个 npm 包则提供了一些工具函数,方便我们对数据的变化进行处理。

    3 年前
  • npm 包 catmull-rom-interpolator 使用教程

    在前端开发中,我们经常需要处理随时间变化的数据,例如位置、速度、加速度等。其中,插值算法是一种常见的处理方式,在实现过程中,catmull-rom-interpolator 就是一种可供选择的 npm...

    3 年前
  • npm 包 starwars_names_etd 使用教程

    npm 是 Node.js 包管理器,适用于前端工程师管理开发中使用的包。在这里介绍一个名为 "starwars_names_etd" 的 npm 包,它提供可在 JavaScript 程序中使用的 ...

    3 年前
  • npm包doppelgunner-stock的使用教程

    前言 npm是一个全球最大的开源包管理系统,支持JavaScript语言。它可以让开发者轻松地共享、发现和重用代码包,从而提高代码的开发效率和复用性。 在这篇文章中,我们将介绍npm包doppelgu...

    3 年前
  • npm 包 loopback-sendgrid-connector 使用教程

    在开发 web 应用时,我们常常需要将网站的运行状态和信息发送给用户,比如发送邮件通知用户注册成功、密码重置等等。为了快速、方便地实现邮件发送功能,我们可以使用第三方的邮件服务提供商的 API,例如 ...

    3 年前
  • npm 包 react-globalize-1 使用教程

    在前端开发中,国际化是一个非常重要的概念。通过国际化可以实现一个网站在不同的语言环境下的页面展示,提高用户体验。React 是一个非常流行的前端开发框架,而 react-globalize-1 是一个...

    3 年前
  • npm 包 @whtsky/meteor-client-bundler 使用教程

    在前端开发中,Meteor 是一种流行的开发框架。它提供了很多有用的功能,例如实时数据传输和数据库更新。然而,如果你想在 Meteor 项目中使用第三方库,通常需要手动导入和配置 JavaScript...

    3 年前
  • npm 包 bootstrap-with-rtl 使用教程

    前言 Bootstrap 是一个流行的前端框架,可用于创建响应式和移动设备优先的网站和应用程序。然而,Bootstrap 的默认样式是从左到右(LTR)的,这意味着从右到左(RTL)的语言(如阿拉伯语...

    3 年前
  • npm 包 eslint-config-loose-airbnb 使用教程

    前言 在前端开发过程中,代码规范是很重要的一环。而代码规范的统一则需要借助于 eslint 等代码检查工具来完成。本文将介绍使用 npm 包 eslint-config-loose-airbnb 来进...

    3 年前

相关推荐

    暂无文章