手把手教你前端 NodeJs 常用技术和第三方库使用详细教程(每周更新中)

news2024/12/25 15:28:48

dotenv 加载环境变量

dotenv是一个用于在Node.js项目中加载环境变量的库。它允许你将环境变量存储在一个名为.env的文件中,并在你的应用程序中轻松访问这些变量。

dotenv 官方网站:https://www.dotenv.org/docs

在这里插入图片描述

要使用dotenv,你需要首先在你的项目中安装它。可以通过运行以下命令来完成安装:

npm install dotenv

安装完成后,你可以在你的代码中引入dotenv并使用它来加载环境变量。下面是一个简单的示例:

require('dotenv').config();

const DB_HOST = process.env.DB_HOST;
const DB_USER = process.env.DB_USER;
const DB_PASS = process.env.DB_PASS;

console.log(`DB Host: ${DB_HOST}`);
console.log(`DB User: ${DB_USER}`);
console.log(`DB Password: ${DB_PASS}`);

在上面的示例中,require('dotenv').config()会加载.env文件中的所有环境变量,并将它们存储在process.env对象中。你可以使用process.env对象来访问这些变量。

.env文件通常存储在你的项目的根目录中,并包含一系列键值对,如下所示:

DB_HOST=localhost
DB_USER=myuser
DB_PASS=mypassword

通过将这些敏感信息存储在.env文件中,你可以避免将它们直接硬编码到你的代码中,从而提高安全性。

Web 应用服务

require('dotenv').config()
const PORT = process.env.PORT || 3000
const http = require('http')
const server = http.createServer((req, res) => {
  res.statusCode = 200
  res.setHeader('Content-Type', 'text/plain')
  res.end(`Hello ${process.env.HELLO}`)
})

server.listen(PORT, () => {
  console.log(`Server running on port:${PORT}/`)
})

ssh2 远程 SSH 连接

在 Node.js 中,可以使用第三方模块 ssh2 来建立 SSH 连接。首先,你需要使用 npm 安装 ssh2 模块。

npm install ssh2

安装完成后,可以使用以下代码建立 SSH 连接:

const Client = require('ssh2').Client;

const conn = new Client();
conn.on('ready', () => {
  console.log('Connected to server.');
}).connect({
  host: 'your_host',
  port: 22,
  username: 'your_username',
  password: 'your_password'
});

conn.on('error', (err) => {
  console.log("Unable to connect: ", err);
});


conn.exec('ls -l', (err, stream) => {
  if (err) throw err;
  stream.on('data', (data) => {
    console.log(`stdout: ${data}`);
  }).on('end', () => {
    console.log('Command finished.');
    conn.end();
  });
});

在上面的代码中,需要替换 your_hostyour_usernameyour_password 为你的服务器主机名、用户名和密码。建立连接后,可以在 ready 事件回调函数中执行你的命令或者传输文件等操作。在示例代码中,我们执行了一个 ls -l 命令,并将结果输出到控制台。最后,我们通过调用 conn.end() 方法来关闭连接。

ws 创建 websocket 服务

在Node.js中,ws模块是一个用于创建WebSocket服务器的工具。WebSocket是一种网络通信协议,它允许在Web浏览器和服务器之间建立持久连接,并进行双向通信。要使用ws模块,首先需要在Node.js项目中安装它。可以使用npm(Node.js包管理器)来安装ws模块。

npm install ws

安装完成后,可以在Node.js代码中引入ws模块:

const WebSocket = require('ws');

接下来,可以创建一个WebSocket服务器,监听指定的端口。简单示例:

const WebSocket = require('ws');

const wss = new WebSocket.Server({ port: 8080 });

wss.on('connection', (ws) => {
  console.log('Client connected');

  ws.on('message', (message) => {
    console.log(`Received message: ${message}`);
    ws.send(`Echo: ${message}`);
  });

  ws.on('close', () => {
    console.log('Client disconnected');
  });
});

在上面的示例中,我们创建了一个监听端口为8080的WebSocket服务器。当有客户端连接到服务器时,会触发connection事件。在connection事件的处理函数中,我们可以添加一些逻辑来处理客户端发送的消息和关闭连接的事件。

通过使用ws模块,我们可以轻松地创建WebSocket服务器,实现与客户端的实时通信。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1023022.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

(2023,微调节,多纵横比训练,细化模型)SDXL:用于高分辨率图像合成的改进的潜在扩散模型

SDXL: Improving Latent Diffusion Models for High-Resolution Image Synthesis 公众号:EDPJ(添加 VX:CV_EDPJ 或直接进 Q 交流群:922230617 获取资料) 目录 0. 摘要 1. 简介 2. 改进稳定扩散 2.1 架构与规模 …

Python基础数据结构入门必读指南

更多资料获取 作者主页:涛哥聊Python 个人网站:涛哥聊Python 大家好,我是涛哥,今天为大家分享的是Python中常见的数据结构。 1.数组 含义:数组是一种有序的数据结构,其中的元素可以按照索引来访问。数组…

DMNet复现(二)之模型篇:Density map guided object detection in aerial image

以前用Swin Transformer Tiny训练了40epoch的,官方用的Faster RCNN,这里先用Swin Transformer Tiny进行测试。 模型训练 采用基于MMDetection的框架Swin Transformer Tiny进行训练,训练方法可参考官方教程。 融合检测 Global Image 检测 …

无涯教程-JavaScript - SEC函数

描述 SEC函数返回Angular的割线。 语法 SEC (number)争论 Argument描述Required/OptionalNumberNumber is the angle in radians for which you want the secant.Required Notes 数字的绝对值必须小于2 ^ 27 如果Angular为度,则将Angular乘以PI()/180或使用RADIANS函数将…

彻底学会Unity中UGUI中UI元素自适应问题

彻底学会Unity中UGUI中UI元素自适应问题 包会的简单版教程 狂飙模式: 经过自我进化学习,终于参悟。看完这个教程,你也可以! 1.扫盲UGUI的理解: Unity3d 中的UI都是画在画布上的。就像画一幅画,首先我们需…

iPhone NFC 设置教程(门禁卡/公交卡/校园卡等等)

苹果手机如何开启NFC功能呢?相信不少小伙伴都对iPhone手机里的NFC用法都不太了解。尽管小米、华为、荣耀、一加、oppo、vivo等安卓手机的NFC使用已经满大街了,不仅功能齐全而且快捷安全,但是这一功能在苹果手机上还很鸡肋,因为它对…

DBSCAN聚类的Python 实现

一、说明 DBSCAN(Density-Based Spatial Clustering of Applications with Noise)聚类是一种基于密度的聚类算法。它能够根据数据点的密度来将数据划分为不同的类别,并可以自动识别离群点。DBSCAN聚类算法的核心思想是将密度高的数据点划分为…

MongoDB——关于NumberLong处理大整数

1、问题 MongoDB根据某个Long类型ID查询数据查不出来 db.getCollection(school_work_section).find({school_work_section_id:577199363866206209}); 2、解决办法 Long类型的需要在NumberLong的对象里加上双引号才能查出来 db.getCollection(school_work_section).find({sc…

初识C语言——详细入门一(系统性学习day4)

目录 前言 一、C语言简单介绍、特点、基本构成 简单介绍: 特点: 基本构成: 二、认识C语言程序 标准格式: 简单C程序: 三、基本构成分类详细介绍 (1)关键字 (2&#xf…

搭建ELK+Filebead+zookeeper+kafka实验

一、ELKFilebeadzookeeperkafka架构 第一层:数据采集层(Filebeat) 数据采集层位于最左边的业务服务集群上,在每个业务服务器上面安装了filebead做日志收集,然后把采集到的原始日志发送到kafkazookeeper集群上。 第二…

文件拷贝【 使用字节流完成文件的复制(支持一切文件类型的复制)】

需求: 把某个视频复制到 E:\\videocopy\\new.mp4 思路: 根据 数据源 创建字节输入流对象根据 目的地 创建字节输出流对象读写数据,复制视频释放资源 可以拷贝 视频 ,图片 ,文本.txt 等文件 package com.csdn.d2_byte_…

Linux grep命令

①grep命令——过滤文件 这是txt.txt的内容 通过grep管道符查找gcc内容在txt.txt文件中 查找gcc所处行位置,加上-n 查找有多个相同内容的数据 ②wc命令——数量统计 统计数据如图: ③管道符——左边结果作为右边输入 如下图所示统计txt.txt文件"-&…

连续性数据进行Meta荟萃分析

Meta荟萃分析(也称Meta分析,元分析,异质性分析等),其是一种综合各种文献结论,进而汇总综合评价的方法,Meta分析常用于医学、心理学、教育学、生态学等专业领域。通俗地看,Meta分析是…

物 理 层

二、物理层 1、物理层的基本概念 物理层的作用:尽可能的屏蔽掉传输媒体和通信手段的差异,使物理层上面的数据链路层感觉不到这些差异,使其只需要考虑如何完成本层的协议和服务 1.1、物理层的主要任务 机械特性:指明接口所用的接线器的形状…

【计算机视觉】1. 计算机视觉基础理论知识和框架(Basic Concepts)

什么是计算机视觉? 一、什么是计算机视觉二、二个研究维度三、研究挑战3.1 像素与语义之间的GAP3.2 视觉变化3.3 光照变化3.4 尺度变化3.5 形态变化3.6 背景复杂3.7 遮挡3.8 内外 四、计算机视觉框架4.1 计算机视觉基础4.2 深度学习算法理论基础4.3 深度学习算法 五、计算机视…

SpringBoot3与IDE中配置JDK17

概述 SpringBoot3需要JDK17的支持,不再支持JDK8。 如果要运行SpringBoot3的项目,根据使用的IDE,需要的配置不同。 配置说明 1. SpringToolSuite4 如果使用的是SpringToolSuite4(STS),比较简单&#xf…

接入网技术

接入网 接入网是指骨干网络到用户或企业之间的所有设备。其长度一般为几百米到几公里,因而形象地被称为“最后一公里”。接入网地接入方式包括铜线(普通电话线)接入、基于双绞线的ADSL技术、基于HFC网(光纤和同轴电缆(有线电视电缆)混合网)的Cable Modem技术、光纤接入…

「聊设计模式」之职责链模式(Chain of Responsibility)

🏆本文收录于《聊设计模式》专栏,专门攻坚指数级提升,助你一臂之力,带你早日登顶🚀,欢迎持续关注&&收藏&&订阅! 前言 设计模式是解决软件开发中常见问题的可复用解决方案。其中…

一篇文章教你Pytest快速入门和基础讲解,一定要看!

前言 目前有两种纯测试的测试框架,pytest和unittestunittest应该是广为人知,而且也是老框架了,很多人都用来做自动化,无论是UI还是接口pytest是基于unittest开发的另一款更高级更好用的单元测试框架出去面试也好,跟别…

爬虫工作者必备:使用爬虫ip轻松获得最强辅助

在进行网络数据爬取时,爬虫ip成为了爬虫工作者们的得力辅助。通过使用爬虫ip,可以实现IP地址的伪装和分布式请求,有效规避访问限制和提高爬取效率。本文将为爬虫工作者们分享关于使用爬虫ip的知识,帮助您轻松获取最强辅助&#xf…