英文 | 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 successconsole.log(response);}).catch(function (error) {// handle errorconsole.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(); // Kassandra.Haley@erich.biz
Faker 的强项肯定是你可以添加的不同数据的数量。所有数据仅用于测试目的。你可以添加各种地址、电子邮件、姓名,甚至比特币地址和汽车制造商!
如果你厌倦了随处可见的 Lorem Ipsum,你可能想看看这个库。
7、DotenvDotenv 是一个用于确保你的应用程序是安全的库。提高安全性的方法之一就是使用环境变量。这就是这个库的用途,它是用于此目的最常用的库之一。
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 (Hello Gatsby!
What a world.
);
}
它使用 React 和 GraphQL 为中小型网站创建了一个非常好的技术堆栈。它适用于从营销到博客的任何内容。
结论
这些只是我过去使用过的一些库。作为开发人员,你可能每天都会遇到新的库,并且很容易过分使用它。
我喜欢尽可能少地使用库,我只使用较大的库或适用于某些问题的库。
非常感谢你的阅读,祝你有美好的一天。
学习更多技能
请点击下方公众号