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 中的包结构一一对应,...
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...
解决 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...
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...
Koa + CLS + Log4js 实现全链路日志系统
什么是全链路日志在线上项目运行期间,经常会出现各种莫名其妙的 bug,而且一个请求往往会经过多个项目的接口调用。比如电商中的下订单,可能会调用到商品服务、优惠券满减服务、会员服务之类的。假如某一时刻下单失败,前端报了个系统异常,怎么样快速定位到底是哪个服务发生了异常,以及定位发生异常的服务具体是报了什么异常日志呢。 这就是全链路日志要做的事情,它把这个请求内调用到的所有请求通过全局 ID 串起来,通过全局 ID 可以把所有涉及到的系统日志都快速地定位出来。 日志开发架构图 之后 Logstash 后可能需要加 Queue 为后续大数据做准备 技术栈 功能 技术栈 日志 Log4js 异步资源追踪 cls-hooked Web 框架 Koa Node 12 REST - 传递 header[trace-id] Axios 思路 请求打进来,由网关下发全局唯一 ID Koa 框架可以获取同步请求的上下文,但在异步中需要上下文持久的问题(比如 async_hook) 需要保证当前项目所有 category 的 log 可用,且打印 trace-id ...
自定义 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"...
