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_host
、your_username
和 your_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服务器,实现与客户端的实时通信。