<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          8個(gè)可以提高開(kāi)發(fā)效率的JavaScript 庫(kù)

          共 3669字,需瀏覽 8分鐘

           ·

          2021-06-16 12:15

          來(lái)源 | https://my.oschina.net/lav/blog/5077207

          現(xiàn)代前端開(kāi)發(fā)相比以前來(lái)說(shuō)幸福很多了,過(guò)去為了兼容 IE、火狐等瀏覽器環(huán)境焦頭爛額,為了減少代碼加速文件的加載盡可能的編寫(xiě)原生 JavaScript,能不用插件就不用(插件由于要考慮通用性,會(huì)增加很多兼容代碼)。
          這一切變化首要功能應(yīng)該要給谷歌瀏覽器提供的開(kāi)源核心,360 瀏覽器為中國(guó)用戶普及高級(jí)瀏覽器的努力,網(wǎng)絡(luò)提速政策的實(shí)時(shí)。
          隨著 5G 技術(shù)的發(fā)展普及,未來(lái)將有大量的應(yīng)用場(chǎng)景將由前端來(lái)承擔(dān)。
          今天,我跟大家分享 8 個(gè)可以提高開(kāi)發(fā)效率的 JavaScript 庫(kù),不需要花時(shí)間自己去編寫(xiě)常用的基礎(chǔ)函數(shù),避免重復(fù)造輪子,讓更多的精力去優(yōu)化應(yīng)用場(chǎng)景的邏輯,也提高開(kāi)發(fā)效率。
          當(dāng)然作為團(tuán)隊(duì),可以通過(guò)學(xué)習(xí)這些開(kāi)源 JavaScript 庫(kù),構(gòu)建適用于團(tuán)隊(duì)的基礎(chǔ)框架。

          1、Lodash

          主頁(yè): https://lodash.com/
          Lodash 是最實(shí)用的 JavaScript 庫(kù)之一,擁有大量的函數(shù)特性集,像數(shù)組、對(duì)象、字符串、數(shù)字等類(lèi)型的常見(jiàn)處理函數(shù),語(yǔ)法上面通俗易懂,容易上手,也是一個(gè)學(xué)習(xí)編碼技術(shù)的好庫(kù)。
          一下是簡(jiǎn)單的示例代碼:
          const _ = require("lodash");const objIntro = {    title: "devpoint",    city: "Shenzhen",};const arrMonths = ["一月", "二月"];_.forEach(objIntro, (value, key) => {    console.log(`${key}:${value}`);});// title:devpoint// city:Shenzhen_.forEach(arrMonths, (value, index) => {    console.log(`${index}:${value}`);});// 0:一月// 1:二月

          2、Luxon

          主頁(yè): https://moment.github.io/luxon/

          Luxon 是一個(gè)非常流行的 日期/時(shí)間 操作庫(kù),是新項(xiàng)目的最佳選擇,因?yàn)樗褂酶F(xiàn)代的 Intl 對(duì)象,具有解析、操作和創(chuàng)建與時(shí)間相關(guān)的所有功能。

          當(dāng)然還有一個(gè)類(lèi)似的 JavaScript 庫(kù)是 Moment 。

          Intl 對(duì)象是 ECMAScript 國(guó)際化 API 的一個(gè)命名空間,它提供了精確的字符串對(duì)比、數(shù)字格式化,和日期時(shí)間格式化 【 詳細(xì)介紹 】。

          const luxon = require("luxon");const convertTime = (timestamp, format = "yyyy-MM-dd hh:mm") => {    return luxon.DateTime.fromMillis(timestamp).toFormat(format);};const now = luxon.DateTime.now();const nowUtc = now.toString(); // 2021-06-12T12:07:51.897+08:00const nowTimestamp = now.toMillis(); // 1623470871897const formatTime = convertTime(nowTimestamp); // 2021-06-12 12:07console.log(nowUtc); // 2021-06-12T12:07:51.897+08:00console.log(nowTimestamp); // 1623470871897console.log(formatTime); // 2021-06-12 12:07

          3、NanoID

          主頁(yè): https://github.com/ai/nanoid/

          創(chuàng)建記錄唯一的 key ,一般采用自遞增的 ID 或者采用 UUID,這里推薦一個(gè)創(chuàng)建唯一 ID 的 JavaScript 庫(kù) NanoID。

          NanoID 創(chuàng)建一個(gè)由字母數(shù)字組成的 ID,通常比 UUID 要小,它是用于創(chuàng)建安全并且唯一 ID 的最小庫(kù)之一,本身可以縮小并壓縮到僅只有 108 字節(jié)。

          const { nanoid } = require("nanoid");const key = nanoid();console.log(key); // U6XRwZsfcDuexQ7m55qdy

          4、Passport

          主頁(yè): http://www.passportjs.org/

          在現(xiàn)代 Web 應(yīng)用程序中,身份驗(yàn)證可以采用多種形式。傳統(tǒng)上,用戶通過(guò)提供用戶名和密碼進(jìn)行登錄。

          隨著社交網(wǎng)絡(luò)的興起,使用 OAuth 提供商(如 Facebook 或 谷歌)的單點(diǎn)登錄已成為一種流行的身份驗(yàn)證方法,公開(kāi) API 的服務(wù)通常需要基于令牌的憑據(jù)來(lái)保護(hù)訪問(wèn)。

          如果自己需要去實(shí)現(xiàn)整個(gè)邏輯還是挺繁瑣的,如果你有這方便的需求,可以考慮 Passport 。

          app.post("/login", passport.authenticate("local"), function (req, res) {    res.redirect("/users/" + req.user.username);});

          5、Faker

          主頁(yè): https://github.com/marak/Faker.js/

          Faker 是一種將虛假數(shù)據(jù)快速添加到應(yīng)用程序中以進(jìn)行測(cè)試的腳本庫(kù),通過(guò)它可以生成姓名、圖片、產(chǎn)品信息、銀行信息等虛擬信息。

          const faker = require("faker");const randomName = faker.name.findName();const randomEmail = faker.internet.email();const randomProductName = faker.commerce.productName();console.log(randomName); // Dr. Debbie Roweconsole.log(randomEmail); // [email protected]console.log(randomProductName); // Intelligent Frozen Keyboard

          6、Axios

          主頁(yè): https://github.com/axios/axios

          Axios 是一個(gè)非常熟悉的基于 promise 的 HTTP 庫(kù),易于使用,常用于 vue 項(xiàng)目中。

          axios.get("/auth?id=89")    .then(function (response) {        console.log(response);    })    .catch(function (error) {        console.log(error);    });

          7、axios-mock-adapter

          主頁(yè): https://www.npmjs.com/package/axios-mock-adapter

          axios-mock-adapter 是一款基于 axios 的請(qǐng)求模擬器,用來(lái)模擬 HTTP 請(qǐng)求,對(duì)于前端項(xiàng)目開(kāi)發(fā)非常實(shí)用,可以在后臺(tái)服務(wù)未完成之前按照 API 協(xié)議模擬相應(yīng)的請(qǐng)求及響應(yīng)。

          在以 vue 做后臺(tái)管理項(xiàng)目中,可以使用它來(lái)實(shí)現(xiàn)請(qǐng)求攔截并模擬后臺(tái)回復(fù)。

          8、Nodemon

          主頁(yè): https://www.npmjs.com/package/nodemon

          在開(kāi)發(fā) Web 應(yīng)用程序時(shí),特別是基于 node.js 的后臺(tái)服務(wù),Nodemon 是個(gè)不容錯(cuò)過(guò)工具

          在《 使用 Docker 開(kāi)發(fā)Node應(yīng)用程序 》中簡(jiǎn)單介紹過(guò)其使用,用來(lái)監(jiān)聽(tīng) node.js 項(xiàng)目中文件的更改并自動(dòng)重啟服務(wù)的工具。可以使開(kāi)發(fā)變得更容易,節(jié)省了每次更改時(shí)自己重新啟動(dòng)服務(wù)器的時(shí)間。

          總結(jié)

          合理利用開(kāi)源 JavaScript 庫(kù),避免重復(fù)制造輪子,以助于提升效率是個(gè)不錯(cuò)的選擇,同樣對(duì)于提升 JavaScript 編碼水平,這些開(kāi)源庫(kù)是個(gè)不錯(cuò)的教材。


          學(xué)習(xí)更多技能

          請(qǐng)點(diǎn)擊下方公眾號(hào)

          瀏覽 41
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  久久久亚洲AV无码精品色午夜 | 亚洲婷婷视频 | a性毛片| 欧美aaa在线 | 欧美精品色图 |