天天看点

10个很棒的 JavaScript 库

10个很棒的 JavaScript 库

英文 | https://javascript.plainenglish.io/8-great-javascript-libraries-for-productivity-10eee7d8faee

翻译 | 杨小二

Javascript现在已经演变成一种你可以做任何事情的语言。如今,我们创建了服务器端代码、前端代码、移动应用程序代码等等。

这是我以前用于不同项目的一些很棒的JS库的列表。

1、Nodemon

地址:https://www.npmjs.com/package/nodemon

Nodemon 是一个可以实现服务器开发的库。任何更改后,它将自动保存,自动重新启动的服务器(或其他项目)。

它知道何时保存前端文件(例如 CSS),如果你正在更新需要重新启动的后端文件,它只会在你需要时尝试重新启动。

它易于安装并且在你的项目过程中节省了时间,这使得它成为每个项目的必备品。

2、UUID

地址:https://www.npmjs.com/package/uuid

UUID 是一种独特的标识标准,可用于多种数据库和其他语言。PostgreSQL 甚至有一个 UUID 类型可以用于 ID。它通过无法猜测出来增加安全性。

import { v4 as uuidv4 } from 'uuid';
uuidv4(); // ⇨ '9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d'      

它易于使用,每次我需要数据库的唯一值时我都会使用它。库的 ID 符合 UUID 标准。

3、Axios

地址:https://github.com/axios/axios

Axios 是所有 HTTP 请求问题的解决方案。它是一个基于 Promise 的 HTTP 客户端,可简化从 API 请求数据的过程。

你可以输入尽可能少的信息,也可以输入尽可能多的信息。每当我不需要添加参数时,我都喜欢省略它们,而在 Axios 中这是可能的。

axios.get('/profile?id=12345')
  .then(function (response) {
    // handle success
    console.log(response);
  })
  .catch(function (error) {
    // handle error
    console.log(error);
  })      

4、Lodash

地址:https://lodash.com/

Lodash 是一个实用程序库,具有大量用于处理字符串、数字、数组和对象的函数。它是一个很棒的库,因为它具有大量的功能和令人惊叹的文档站点。

_.defaults({ 'a': 1 }, { 'a': 3, 'b': 2 });
// → { 'a': 1, 'b': 2 }


_.partition([1, 2, 3, 4], n => n % 2);
// → [[1, 3], [2, 4]]      

我强烈建议至少检查一下这个库和它的文档。它具有解决高度利基问题的功能和许多常见问题的功能,例如,展平数组。

5、Luxon

地址:https://moment.github.io/luxon/#/

Luxon 是一个现代日期和时间操作库。如果你曾经处理过日期和时间,你选择合适的库是成功的一半。尤其是如果你注定要受到多个时区的影响时,这个库就非常有用。

DateTime.now().setZone('America/New_York').minus({ weeks: 1 }).endOf('day').toISO();


let dt = DateTime.now();
dt.toISO(); //=> '2017-04-20T11:32:00.000-04:00'      

从某种意义上说,Luxon 比另一个著名日期时间操作库 Moment 更年轻、更现代化。然而,Luxon 使用 Intl 对象,而Moment使用 Date 对象。

6、Faker

地址:https://github.com/marak/Faker.js/

Faker 是我在构建项目早期测试阶段使用的一个库。它是一个可以轻松将真实的测试数据添加到应用程序中的库。

let faker = require('faker');


let randomName = faker.name.findName(); // Rowan Nikolaus
let randomEmail = faker.internet.email(); // [email protected]      

Faker 的强项肯定是你可以添加的不同数据的数量。所有数据仅用于测试目的。你可以添加各种地址、电子邮件、姓名,甚至比特币地址和汽车制造商!

如果你厌倦了随处可见的 Lorem Ipsum,你可能想看看这个库。

7、Dotenv

Dotenv 是一个用于确保你的应用程序是安全的库。提高安全性的方法之一就是使用环境变量。这就是这个库的用途,它是用于此目的最常用的库之一。

DB_HOST=localhost
DB_USER=root
DB_PASS=passw0rd      

你可以使用应用程序的所有环境变量创建一个 .dotenv 文件。一定不要提交这些,因为这些应该是特定于环境的,或者只在一台 PC 上工作以获得最大的安全性。

8、Mongoose

地址:https://mongoosejs.com/

Mongoose 是一个很棒的库,可以在你使用 MongoDB 数据库时使用。它是一个对象建模库,使用 Mongo 和 Javascript 尽可能容易。

const mongoose = require('mongoose');
mongoose.connect('mongodb://localhost:27017/db-url', {useNewUrlParser: true, useUnifiedTopology: true});


const Cat = mongoose.model('Cat', { name: String });


const kitty = new Cat({ name: 'Taco' });


kitty.save().then(() => console.log('Cat added'));      

几乎所有的 Mongo 和 Javascript 教程都以这个库为特色,而不是默认的 MongoDB 库,因为它很容易,大多数开发人员都离不开它。

9、Realm

地址:https://realm.io/

Realm 在用于数据库开发的形式上类似于 Mongoose。我只将 Realm 用于移动应用程序开发中,一旦设置好,它就会展现它的工作魅力。

const studentSchema = {
  name: "Student",
  properties: {
    name: "string",
    grades: "int[]"
  }
}      

对于 React Native 开发来说,真正优秀的数据库选项并不多,我认为 Realm 确实有点填补了这个角色。它的数据库与 Mongoose 非常相似,它可以在 MongoDB 上运行。

10、GatsbyJS

地址:https://www.gatsbyjs.com/

Gatsby 是一个静态的服务器渲染网站库。它类似于 NextJS,虽然它目前缺乏一些功能,但我认为开发人员的体验比我尝试过的其他类型的库都要好。

import React from "react"
export default function Home() {
  return (
    <div style={{ color: `purple` }}>
      <h1>Hello Gatsby!</h1>
      <p>What a world.</p>
    </div>
  );
}      

它使用 React 和 GraphQL 为中小型网站创建了一个非常好的技术堆栈。它适用于从营销到博客的任何内容。

结论

这些只是我过去使用过的一些库。作为开发人员,你可能每天都会遇到新的库,并且很容易过分使用它。

我喜欢尽可能少地使用库,我只使用较大的库或适用于某些问题的库。

非常感谢你的阅读,祝你有美好的一天。

学习更多技能

请点击下方公众号