-
Node.js 是一个单线程的运行时环境,基于事件驱动和非阻塞 I/O 模型。虽然这种设计使得 Node.js 在处理 I/O 密集型任务时非常高效,但在处理 CPU 密集型任务时可能会遇到性能瓶颈。为了充分利用多核 CPU 的计算能力,Node.js 提供了多进程的能力,允许开发者创建多个独立的进程来并行处理任务。
在这个教程中,我们将学习如何使用 Node.js 的 child_process 模块来创建和管理多进程。此外,我们还将讨论如何使用 cluster 模块来自动地在多个核心上分发请求。
-
npm(Node Package Manager)是 Node.js 的包管理器,它允许你安装、发布、以及管理 Node.js 包。npm 是 Node.js 生态系统中最关键的工具之一,它为开发者提供了一个巨大的库,包含了数以万计的开源包。
-
最近,有些人在桌面上发现一个名为 “WITH-LOVE-FROM-AMERICA.txt” 的文本文件,是不是有种莫名其妙的感觉?
这是一个名为 “peacenotwar” 的 npm 包创建的,内容是一些呼吁和平的言辞(下文有详细内容)。
你可能会说,我的项目没有使用过 “peacenotwar” 这个包呀,但是你的项目依赖包可能直接或间接引入了 “peacenotwar”。比如 vue-cli 脚手架引入了 node-ipc,而 node-ipc 又在 v11.0.0 等版本引入了 peacenotwar。
-
使用 npm i --verbose 可以展示详细安装过程信息,对于包的安装调试非常有用。npm i --verbose
npm info it worked if it ends with ok
npm verb cli [ '/usr/local/bin/node', '/usr/local/bin/npm', 'i', '--verbose' ]
npm info using npm@6.7.0
npm info using node@v11.15.0
npm verb npm-session ed836438aad145ee
npm info lifecycle 0215@1.0.0~preinstall: 0215@1.0.0
npm timing stage:loadCurrentTree Completed in 27ms
npm timing stage:loadIdealTree:cloneCurrentTree Completed in 1ms
npm timing stage:loadIdealTree:loadShrinkwrap Completed in 50ms
npm timing stage:loadIdealTree:loadAllDepsIntoIdealTree Completed in 74ms
npm timing stage:loadIdealTree Completed in 148ms
npm timing stage:generateActionsToTake Completed in 31ms
-
npm 私仓登录的方法:npm login --registry 私仓URL。以上就是 npm 登录私仓服务器的方法,非常简单。
-
在 npm package.json 文件中,常见版本号有三种:1.0.0 匹配固定版本"1.0.0",最稳定,所有升级都要在 package.json 修改版本号
~1.0.0 匹配 1.0.x 可以自动升级依赖包的 bugfix 版本
^1.0.0 匹配 1.x.x 较危险,依赖包可能会有破坏性的升级
综上,推荐使用 ~1.0.0 的写法,既可以升级 bugfix 版本,又可以降低引入破坏性的版本升级的风险。^1.0.0 匹配 1.x.x
-
npm 登录,输入用户名、密码和邮箱后登录中断,提示如下信息:npm login
Username: xxx
Password:
Email: (this IS public) xxx@qq.com
npm notice Please check your email for a one-time password (OTP)
Enter one-time password from your authenticator app:
不要着急,上述提示信息字面说的很清楚,npm 需要做登录的二次验证,即在用户名密码验证的基础上,给用户的邮箱发了一条短信验证码。所以,我们只需要把对应邮箱中收到的验证码输入即可。
-
执行 npm cache clean --force 命令遇到如下报错信息:
$ npm cache clean --force
npm WARN using --force I sure hope you know what you are doing.
npm ERR! code EACCES
npm ERR! syscall unlink
npm ERR! path /Users/teng/.npm/_cacache/index-v5/10/a5/91097af49aef49439e613e418c5be2707991a587cbf40e932a437e05d181
npm ERR! errno -13
npm ERR!
npm ERR! Your cache folder contains root-owned files, due to a bug in
npm ERR! previous versions of npm which has since been addressed.
npm ERR!
npm ERR! To permanently fix this problem, please run:
npm ERR! sudo chown -R 501:20 "/Users/teng/.npm"
npm ERR! A complete log of this run can be found in:
npm ERR! /Users/teng/.npm/_logs/2022-01-20T06_17_48_414Z-debug.log
-
jenkins 发版构建时,typescript 编译任务报错了(本地运行没问题),报错信息片段如下:> frontend_api_new@1.0.0 tsc /app
> ets && tsc -p tsconfig.json
[egg-ts-helper] create typings/app/extend/helper.d.ts (2ms)
[egg-ts-helper] create typings/app/extend/response.d.ts (3ms)
[egg-ts-helper] create typings/app/controller/index.d.ts (2ms)
[egg-ts-helper] create typings/app/middleware/index.d.ts (1ms)
[egg-ts-helper] create typings/config/index.d.ts (38ms)
[egg-ts-helper] create typings/config/plugin.d.ts (1ms)
[egg-ts-helper] create typings/app/service/index.d.ts (2ms)
[egg-ts-helper] create typings/app/index.d.ts (0ms)
[96mnode_modules/@types/express-serve-static-core/index.d.ts[0m:[93m102[0m:[93m68[0m - [91merror[0m[90m TS1110: [0mType expected.
[7m102[0m type RemoveTail<S extends string, Tail extends string> = S extends
-
npm cache 存放位置,以 linux 为例,默认存储在 ~/.npm 目录。npm cache 清理方法:npm cache clean;npm cache clean --force;npm cache clean -f