Linux 安装 Node.js
历史版本可从 https://nodejs.org/zh-cn/download/releases/ 下载 通过 FTP 工具上传到 Linux 服务器,解压安装包1tar -xvf node-v10.16.0-linux-x64.tar.xz 移动并改名文件夹(不改名也行)123cd /usr/local/mv /var/ftp/pub/node-v10.16.0-linux-64 . # 后面的 . 表示移动到当前目录mv node-v10.16.0.0-linux-64/ nodejs 让 npm 和 node 命令全局生效(方式选择任一)方式一:环境变量方式(这种方式只对登录用户有效) 加入环境变量,在 /etc/profile 文件末尾增加配置: 12vi /etc/profileexport PATH=$PATH:/usr/local/nodejs/bin 执行命令使配置文件生效: 1source /etc/profile 方式二:软链接方式(推荐)12ln -s /usr/local/nodejs/bin/npm /usr/local/bin...
package-lock.json 的作用
package-lock.json 文件的作用参考:https://www.cnblogs.com/kugeliu/p/9153775.html npm5 之后安装文件之后会多出一个 package-lock.json 的文件,它的作用是: 安装之后锁定包的版本,手动更改 package.json 文件安装将不会更新包,想要更新只能使用 npm install xxx@1.0.0 --save 这种方式来进行版本更新,package-lock.json 文件才可以 加快了 npm install 的速度,因为 package-lock.json 文件中已经记录了整个 node_modules 文件夹的树状结构,甚至连模块的下载地址都记录了,再重新安装的时候只需要直接下载文件即可 它的意义在于锁定了包的版本,确保能够避免包版本不同产生的问题。 最外面的两个属性 name、version 同 package.json 中的 name 和 version,用于描述当前包名称和版本。 dependencies 是一个对象,对象和 node_modules 中的包结构一一对应,...
NVM 的安装及使用
NVM 是一个非常方便的 Node.js 包管理工具,可以实现在 Node.js 各个不同版本之间自由地进行切换。下面介绍用 root 权限安装 NVM 工具。到 2021 年 7 月,NVM 的最新版本为 v0.39.1。 Linux 安装 NVMGitHub 地址:https://github.com/nvm-sh/nvm 1. 下载包12cd /usr/localwget --no-check-certificate https://github.com/nvm-sh/nvm/archive/refs/tags/v0.39.1.tar.gz 2. 解压包1tar -xvf v0.39.1.tar.gz 在这里拿到文件的安装目录,放哪里无所谓。 3. 配置 bashrc 文件将 export NVM_DIR="/usr/local/nvm-0.39.1" 改成自己的目录。 123456# 编辑文件vim ~/.bashrcexport NVM_DIR="/usr/local/nvm-0.39.1"[ -s "$NV...
PM2 的 Cluster 模式下使用 Log4js
配置log4js.config1234567891011121314151617181920{ /** * pm2 (boolean) (optional) * - set this to true if you're running your app using pm2, * otherwise logs will not work (you'll also need to install pm2-intercom as pm2 module: pm2 install pm2-intercom) */ "pm2": true, /** * pm2InstanceVar (string) (optional, defaults to 'NODE_APP_INSTANCE') * - set this if you're using pm2 and have changed the default name of the NODE_APP_INSTANCE variable...
Web 开发通用代码记录
结合 Koa 写出流文件/图片到前端/浏览器1npm i fs-extra mime-types axios 读取本地文件写回前端123const localPath = path.join(__dirname, '../..', 'pic/not_found.png');ctx.type = mime.lookup(localPath);ctx.body = fs.readFileSync(localPath); 读取外部链接流文件写回前端12345678import mime from 'mime-types';const response = await axios({ url, responseType: 'stream',});ctx.type = mime.lookup(url);ctx.body = response.data; 读取外部链接流文件并写入本地再返回前端123456789101112131415161718import fs...
使用 TypeScript 创建 Koa 服务器
概述尽管使用 NodeJS 搭建 HTTP 服务器早已是 Web 开发者们的家常便饭,但结合时下最热门的 TypeScript 却能带来更棒的开发体验。今天,我们就来一起尝试将它们结合起来,快速搭建一个健壮的 Koa 服务。 Koa 基础环境搭建我们从 Koa 开始,它是一个轻量且富有表现力的 NodeJS Web 框架。 安装核心依赖安装 Koa 及其常用的中间件 (Middleware): 1npm install koa koa-bodyparser koa-json koa-logger koa-router 注意: koa-bodyparser、koa-json、koa-logger 和 koa-router 都属于 Koa 的中间件。 编写基础 Koa 代码首先,创建 src 目录用于存放源代码,并在其中创建 index.js 文件: 12src└── index.js 基础 Koa 服务 (index.js): 123456789101112131415161718192021222324252627import Koa from 'koa...
自定义 npm 包发布及下载
封装 npm 包上传到 npmjs.com定义 package.json12345678910111213141516{ "name": "logger-server", // 会被当作包名存在,不可与现有 npm 仓库的包名重复(例如已经有了 log4js,这里就不能叫 log4js) "version": "1.0.0", // 打版本标签 "private": true, // 这个字段可以防止代码被公开发布 "description": "日志自定义封装", "main": "index.js", "author": "xiaowu", "repository": { // 可不配 "type": "git"...
记录 K8s 环境下结合 Alinode 的使用
alinode官方地址:https://help.aliyun.com/product/60298.html?spm=a2c4g.60418.0.0.710343961QetaC 介绍 阿里官方提供的nodejs性能平台面向所有 Node.js 应用,提供 性能监控、安全提醒、故障排查、性能优化 等服务的整体性解决方案,尤其适合业务发展迅速、应用发布频繁、流量上升明显的 Node.js 应用。 Node.js 性能平台特别适合业务发展迅速、应用发布频繁、流量上升明显的 Node.js 应用。 平台全部功能免费使用 Node.js性能平台使用指南https://github.com/aliyun-node/Node.js-Troubleshooting-Guide/blob/master/0x04_%E5%B7%A5%E5%85%B7%E7%AF%87_Node.js%20%E6%80%A7%E8%83%BD%E5%B9%B3%E5%8F%B0%E4%BD%BF%E7%94%A8%E6%8C%87%E5%8D%97.md 使用创建应用 登录阿里云官网 https://www.al...
解决 Could not find any Visual Studio installation to use 的问题
参考链接: https://github.com/nodejs/node-gyp/issues/2203 https://stackoverflow.com/questions/57541402/node-gyp-configure-got-gyp-err-find-vs/63311413#63311413 https://www.jianshu.com/p/e2f12fab2b78 Node 版本 12.22,Windows 10 执行 npm install 报错信息如下 错误信息123456789101112131415161718192021222324252627282930313233gyp ERR! find VSgyp ERR! find VS msvs_version not set from command line or npm configgyp ERR! find VS VCINSTALLDIR not set, not running in VS Command Promptgyp ERR! find VS checking VS2017 (1...
Spring Cloud Gateway核心指南:从路由、断言到全局过滤器
引言在现代微服务架构中,API网关扮演着至关重要的角色,它作为所有服务的统一入口,负责请求路由、安全认证、流量控制和监控等关键任务。Spring Cloud Gateway是Spring官方推出的第二代网关框架,基于Spring 5、Spring Boot 2和Project Reactor构建,采用非阻塞的响应式编程模型,相比于第一代的Zuul,性能更优,功能也更为强大。本文将从核心概念入手,详细介绍Spring Cloud Gateway的路由、断言、过滤器等核心功能,并提供实践配置,帮助你快速掌握并应用于项目中。 为什么需要API网关?在微服务架构中,网关是整个系统的“守门神”,它统一了服务入口,简化了客户端的调用逻辑。其核心功能主要包括: 请求路由 (Request Routing): 根据请求的路径、域名等信息,将请求智能地转发到后端的具体微服务。 权限控制 (Authentication & Authorization): 在请求到达业务服务之前,集中完成用户认证和权限校验,实现安全拦截。 限流熔断 (Rate Limiting & Circuit ...
