自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

下一個(gè)項(xiàng)目,建議使用這七個(gè) JavaScript 庫

開發(fā) 后端
常言道“你不必重新發(fā)明輪子”。第三方庫它可以幫助您以簡單的方式編寫復(fù)雜且耗時(shí)的功能,一個(gè)好的項(xiàng)目應(yīng)當(dāng)使用一些優(yōu)秀的庫,下面我推薦下,在你的下個(gè)項(xiàng)目中,建議用上這7 個(gè)有用的庫。

Video.js

Video.js 是一個(gè)基于 HTML5 的視頻播放器庫。它支持大多數(shù)流行的視頻格式,并且可以在多個(gè)平臺(tái)和瀏覽器上使用。

這是在 GitHub 上擁有超過 34k 顆星的星數(shù)最多的庫之一。正如您從名稱中猜到的那樣,這個(gè)庫提供了一個(gè)為 HTML5 世界從頭開始構(gòu)建的網(wǎng)絡(luò)視頻播放器。它支持 HTML5 視頻和媒體源擴(kuò)展,以及其他播放技術(shù),如 YouTube 和 Vimeo(通過插件)。它支持在臺(tái)式機(jī)和移動(dòng)設(shè)備上播放視頻。該項(xiàng)目于 2010 年年中啟動(dòng),該播放器現(xiàn)已在超過 700,000 個(gè)網(wǎng)站上使用。

使用 Video.js 的基本步驟如下:

  • 在頁面中引入 Video.js 的 CSS 和 JS 文件。
  • 在 HTML 中創(chuàng)建一個(gè) div 元素,并設(shè)置一個(gè)類名為 "video-js"。
  • 在 div 元素中添加一個(gè) video 元素,并在其中設(shè)置視頻的來源。
  • 在 JavaScript 中通過 Video.js 提供的 API 來控制視頻的播放、暫停、靜音等操作。
<link href="path/to/video-js.css" rel="stylesheet">
<script src="path/to/video.js"></script>

<div class="video-js">
    <video id="my-video" class="video-js" controls preload="auto" width="640" height="264"
           poster="MY_VIDEO_POSTER.jpg" data-setup='{}'>
        <source src="MY_VIDEO.mp4" type='video/mp4'>
        <source src="MY_VIDEO.webm" type='video/webm'>
    </video>
</div>
var myPlayer = videojs('my-video');
myPlayer.play(); //播放
myPlayer.pause(); //暫停
myPlayer.muted(true); //靜音

更多細(xì)節(jié)可以參考 Video.js 的官方文檔:http://docs.videojs.com/。

Novu

構(gòu)建通知系統(tǒng)很復(fù)雜。起初,這似乎只是發(fā)送一封電子郵件,但實(shí)際上,這只是一個(gè)開始。今天的用戶期望通過電子郵件、SMS、推送、聊天和其他渠道獲得多渠道通信體驗(yàn)。每天都會(huì)彈出一個(gè)不斷增長的提供商列表,并且通知會(huì)圍繞代碼傳播。這個(gè)庫的目標(biāo)是簡化通知并為開發(fā)人員提供工具來在系統(tǒng)和用戶之間創(chuàng)建有意義的通信。它在 GitHub 上擁有超過 14k 顆星。

import { Novu } from '@novu/node';

const novu = new Novu(process.env.NOVU_API_KEY);

await novu.trigger('<TRIGGER_NAME>', {
  to: [
    {
      subscriberId: '<UNIQUE_IDENTIFIER>',
      email: 'john1@doemail.com',
      firstName: 'John',
      lastName: 'Doe',
    },
  ],
  payload: {
    name: 'Hello World',
    organization: {
      logo: 'https://happycorp.com/logo.png',
    },
  },
});

Mousetrap

如果您必須在您的應(yīng)用程序中處理鍵盤,那么這對您來說是一個(gè)很好的資源。這是一個(gè)簡單的庫,可以幫助您處理鍵盤快捷鍵。它支持特定鍵、鍵盤組合或鍵序列上的按鍵、按下和按下事件。它壓縮后約 2kb,壓縮后約 4.5kb,并且沒有外部依賴性。這個(gè)庫在 GitHub 上有超過 11k 顆星。

使用 Mousetrap 的基本步驟如下:

  • 引入 Mousetrap 的 JS 文件。
  • 使用 Mousetrap.bind() 或 Mousetrap.bindGlobal() 方法綁定鍵盤快捷鍵和回調(diào)函數(shù)。
  • 在回調(diào)函數(shù)中定義鍵盤快捷鍵被按下時(shí)的操作。

示例代碼如下:

<script src="path/to/mousetrap.js"></script>

<script>
    Mousetrap.bind('ctrl+shift+a', function() {
        alert('ctrl+shift+a');
    });

    Mousetrap.bind('ctrl+shift+b', function() {
        alert('ctrl+shift+b');
    });
</script>

這個(gè)庫可以幫助你快捷地實(shí)現(xiàn)鍵盤快捷鍵,更多細(xì)節(jié)可以參考 Mousetrap 的官方文檔:https://craig.is/killing/mice。

Barba

這是一個(gè)小型(7kb 縮小和壓縮)且易于使用的庫,可幫助您在網(wǎng)站頁面之間創(chuàng)建流暢和平滑的過渡。它有助于減少頁面之間的延遲,最大限度地減少瀏覽器 HTTP 請求并增強(qiáng)用戶的網(wǎng)絡(luò)體驗(yàn)。它在 GitHub 上擁有超過 10k 顆星。

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <title>BarbaJS legacy example</title>
  </head>
  <body>

    <!-- define the wrapper and the container -->
    <div data-barba="wrapper">
      <div data-barba="container" data-barba-namespace="page-a">
        <h1>Home</h1>
      </div>
    </div>

    <!-- load barba (UMD version) -->
    <script src="https://unpkg.com/@barba/core"></script>

    <!-- load gsap animation library (minified version) -->
    <script src="https://unpkg.com/gsap@latest/dist/gsap.min.js"></script>

    <!-- init barba with a simple opacity transition -->
    <script type="text/javascript">
      barba.init({
        transitions: [{
          name: 'opacity-transition',
          leave(data) {
            return gsap.to(data.current.container, {
              opacity: 0
            });
          },
          enter(data) {
            return gsap.from(data.next.container, {
              opacity: 0
            });
          }
        }]
      });
    </script>
  </body>
</html>

dc.js

dc.js 是一個(gè)用于創(chuàng)建交互式數(shù)據(jù)可視化的 JavaScript 庫。它是基于 D3.js 庫的一個(gè)擴(kuò)展,提供了一些高級(jí)功能和封裝,使得創(chuàng)建可視化更加簡單和高效。

dc.js 支持多種類型的圖表,如條形圖,餅圖,散點(diǎn)圖,線圖等,并且支持多維數(shù)據(jù)篩選和縮放。

使用 dc.js 的基本步驟如下:

  • 引入 dc.js 和 D3.js 的 JavaScript 文件
  • 準(zhǔn)備數(shù)據(jù)
  • 創(chuàng)建圖表
  • 配置圖表
  • 渲染圖表

示例代碼如下:

// 引入 dc.js 和 d3.js
import * as dc from 'dc';
import * as d3 from 'd3';

// 準(zhǔn)備數(shù)據(jù)
const data = [
    {name: "A", value: 10},
    {name: "B", value: 20},
    {name: "C", value: 30}
];

// 創(chuàng)建圖表
const chart = dc.barChart("#chart");

// 配置圖表
chart
    .width(300)
    .height(200)
    .x(d3.scaleBand())
    .xUnits(dc.units.ordinal)
    .y(d3.scaleLinear().domain([0, 30]))
    .dimension(data)
    .group(data);

// 渲染圖表
chart.render();

Time ago

Timeago是一個(gè)JavaScript庫,它可以在網(wǎng)頁上將時(shí)間顯示為簡短的形式,例如“3小時(shí)前”或“1個(gè)月前”。這可以幫助您在網(wǎng)頁上創(chuàng)建動(dòng)態(tài)時(shí)間戳。

使用Timeago非常簡單,您只需要在網(wǎng)頁上引用timeago.js文件,然后在需要顯示時(shí)間的元素上添加一個(gè)"timeago"類。

調(diào)用也十分簡單,首先引入timeago.js文件

<script src="http://unpkg.com/timeago.js"></script>

然后在需要顯示時(shí)間的標(biāo)簽上面添加datetime屬性

<div class="timeago" datetime="2016-06-30 09:20:00"></div>

最后在javascript里面調(diào)用timeago()即可

let timeagoInstance = timeago();
timeagoInstance.render(document.querySelectorAll('time'));

如果你需要更改語言,可以在調(diào)用timeago的時(shí)候傳入語言的參數(shù)

let timeagoInstance = timeago('zh_CN');
timeagoInstance.render(document.querySelectorAll('time'));

這里給出的是最簡單的用法,更多用法可以參考文檔

js-xss

顧名思義,這個(gè)庫用于過濾用戶的輸入以防止 XSS 攻擊。它使用白名單指定的配置清理不受信任的 HTML(以防止 XSS)。它在 GitHub 上擁有超過 4.5k 顆星。XSS 攻擊是指攻擊者利用網(wǎng)站的漏洞,在用戶瀏覽器中插入惡意腳本。

使用 js-xss 的方法如下:

引入js-xss文件

<script src="xss.min.js"></script>

創(chuàng)建xss對象

var xss = new FilterXSS({
  whiteList: {...}
});

調(diào)用xss對象的process函數(shù),傳入需要處理的字符串即可

var html = xss.process('<script>alert("XSS")</script>');
console.log(html); // 輸出 <script>alert("XSS")</script> 被過濾掉了

需要注意的是,默認(rèn)的白名單可能不能滿足所有需求,因此開發(fā)者可以根據(jù)自己的需要自定義白名單。

這個(gè)庫是非常有用的,通過這個(gè)庫可以很好的防止XSS攻擊,建議在處理用戶輸入的數(shù)據(jù)的時(shí)候使用。

責(zé)任編輯:姜華 來源: 今日頭條
相關(guān)推薦

2020-11-15 23:23:21

JavaScriptAPI開發(fā)

2015-10-29 09:35:12

BAT趨勢數(shù)據(jù)

2019-01-15 10:02:06

Kubernetes開源工具微服務(wù)

2014-06-17 10:57:09

2019-03-19 19:19:19

Facebook微信轉(zhuǎn)型

2014-11-12 10:26:25

Bootstrap

2009-03-28 09:22:12

MID移動(dòng)OS

2022-02-13 15:49:15

WebAssemblKubernetes容器

2015-08-03 14:06:44

2013-01-17 10:09:50

JavaSpring

2021-08-11 18:23:08

數(shù)據(jù)平臺(tái)IT

2011-03-17 15:01:11

Oracle

2021-09-03 10:08:53

JavaScript開發(fā) 代碼

2023-03-24 07:30:53

JavaScript項(xiàng)目元框架

2023-11-09 23:51:32

2022-02-10 10:48:23

JavaScriptVue.js數(shù)據(jù)

2019-04-15 11:00:46

框架Node.JS開發(fā)

2012-03-29 09:22:56

云計(jì)算私有云開發(fā)

2011-07-12 10:06:19

Rails

2010-04-29 09:20:27

WEB開發(fā)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)