Node.js

Using Corepack

While browsing the metamask-extension source code, I saw a field in package.json: “packageManager”: “yarn@4.9.1”, but when checking yarn on npm, the latest version is still 1.22.22. Strange, so how does the actual project install this v4 yarn? After careful investigation, I found that it uses corepack for package manager and version management.

Aug 12, 2025

EventEmitter中的once处理

EventEmitter初版 class EventEmitter{ constructor(){ this.events={} } on(type,listener){ if(!this.events[type]){ this.events[type]=[] } this.events[type].push(listener) } emit(type,...args){ this.events[type].forEach(listener=>{ listener.call(this,...args) }) } off(type,listener){ if(this.events[type]){ const index=this.events[type].indexOf(listener) if(index!==-1){ this.events[type].splice(index,1) } } } once(type,listener){ const onceListener=(...args)=>{ listener.call(this,...args) this.off(type,onceListener) } this.on(type,onceListener) } } 测试 const eventEmitter=new EventEmitter() const listener=(args)=>{ console.log(args); } eventEmitter.once('test',listener) eventEmitter.off('test',listener) eventEmitter.emit('test',{a:1}) 执行上述代码,会发现test事件被触发了一次,预期应该是不执行的,因为off了。解决办法如下。

Mar 18, 2025

npm缓存

使用npm开发中会发现,比如将node_modules文件夹删除,然后重新安装依赖,会发现安装速度非常快,这是因为npm有缓存机制。

Feb 13, 2025

了解peerDependencies

package.json中除了dependency和devDependency之外,还有一个peerDependency。这里通过解决一个实际报错来了解下它。

Jan 2, 2025

node项目下的安全组件扫描处理

本文是作者对node项目下的安全组件扫描处理的介绍,包括node项目下的安全组件扫描处理的优势、实现细节、相关资料等,这些步骤可以帮助作者提高node项目下的安全组件扫描处理的效率。

Jun 2, 2024

流写入文件时造成的文件内容被清空问题

本文介绍关于流写入文件时造成的文件内容被清空问题,包括使用场景、实现细节等,以提高关于流写入文件时造成的文件内容被清空问题的效率。

Apr 27, 2024

nodejs项目中下加载esmdule

本文是作者对nodejs项目中下加载esmdule的介绍,包括nodejs项目中下加载esmdule的优势、实现细节、相关资料等,这些步骤可以帮助作者提高nodejs项目中下加载esmdule的效率。

Apr 10, 2024

ssh2包介绍

本文是作者对ssh2包介绍的介绍,包括ssh2包介绍的优势、实现细节、相关资料等,这些步骤可以帮助作者提高ssh2包介绍的效率。

Jan 14, 2024

node命令中的inspect

本文是作者对node命令中的inspect的介绍,包括node命令中的inspect的优势、实现细节、相关资料等,这些步骤可以帮助作者提高node命令中的inspect的效率。

Dec 20, 2023

前端开发常用npm包

本文介绍关于前端开发常用npm包,包括使用场景、实现细节等,以提高关于前端开发常用npm包的效率。

Dec 20, 2023