热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

10个很棒的JavaScript库

英文|https:javascript.plainenglish.io8-great-javascript-libraries-for-productivity-10eee7d8f

英文 | 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、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 (

Hello Gatsby!

What a world.

);
}

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

结论

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

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

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

学习更多技能

请点击下方公众号


推荐阅读
  • golang常用库:配置文件解析库/管理工具viper使用
    golang常用库:配置文件解析库管理工具-viper使用-一、viper简介viper配置管理解析库,是由大神SteveFrancia开发,他在google领导着golang的 ... [详细]
  • 本文介绍了如何通过 Maven 依赖引入 SQLiteJDBC 和 HikariCP 包,从而在 Java 应用中高效地连接和操作 SQLite 数据库。文章提供了详细的代码示例,并解释了每个步骤的实现细节。 ... [详细]
  • 本文介绍如何使用阿里云的fastjson库解析包含时间戳、IP地址和参数等信息的JSON格式文本,并进行数据处理和保存。 ... [详细]
  • 本文详细介绍了如何在Linux系统上安装和配置Smokeping,以实现对网络链路质量的实时监控。通过详细的步骤和必要的依赖包安装,确保用户能够顺利完成部署并优化其网络性能监控。 ... [详细]
  • Android LED 数字字体的应用与实现
    本文介绍了一种适用于 Android 应用的 LED 数字字体(digital font),并详细描述了其在 UI 设计中的应用场景及其实现方法。这种字体常用于视频、广告倒计时等场景,能够增强视觉效果。 ... [详细]
  • andr ... [详细]
  • 本文详细记录了在基于Debian的Deepin 20操作系统上安装MySQL 5.7的具体步骤,包括软件包的选择、依赖项的处理及远程访问权限的配置。 ... [详细]
  • 技术分享:从动态网站提取站点密钥的解决方案
    本文探讨了如何从动态网站中提取站点密钥,特别是针对验证码(reCAPTCHA)的处理方法。通过结合Selenium和requests库,提供了详细的代码示例和优化建议。 ... [详细]
  • 本文介绍了一款用于自动化部署 Linux 服务的 Bash 脚本。该脚本不仅涵盖了基本的文件复制和目录创建,还处理了系统服务的配置和启动,确保在多种 Linux 发行版上都能顺利运行。 ... [详细]
  • 本文详细介绍了Java中org.eclipse.ui.forms.widgets.ExpandableComposite类的addExpansionListener()方法,并提供了多个实际代码示例,帮助开发者更好地理解和使用该方法。这些示例来源于多个知名开源项目,具有很高的参考价值。 ... [详细]
  • 使用 Azure Service Principal 和 Microsoft Graph API 获取 AAD 用户列表
    本文介绍了一段通用代码示例,该代码不仅能够操作 Azure Active Directory (AAD),还可以通过 Azure Service Principal 的授权访问和管理 Azure 订阅资源。Azure 的架构可以分为两个层级:AAD 和 Subscription。 ... [详细]
  • 前言--页数多了以后需要指定到某一页(只做了功能,样式没有细调)html ... [详细]
  • 本文探讨了 Objective-C 中的一些重要语法特性,包括 goto 语句、块(block)的使用、访问修饰符以及属性管理等。通过实例代码和详细解释,帮助开发者更好地理解和应用这些特性。 ... [详细]
  • 使用Vultr云服务器和Namesilo域名搭建个人网站
    本文详细介绍了如何通过Vultr云服务器和Namesilo域名搭建一个功能齐全的个人网站,包括购买、配置服务器以及绑定域名的具体步骤。文章还提供了详细的命令行操作指南,帮助读者顺利完成建站过程。 ... [详细]
  • 本文详细介绍了如何在Ubuntu系统中下载适用于Intel处理器的64位版本,涵盖了不同Linux发行版对64位架构的不同命名方式,并提供了具体的下载链接和步骤。 ... [详细]
author-avatar
漫湾镇团委
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有