
node
前端精髓
前端开发
展开
-
单线程无法充分利用多核CPU
Node在选型时决定在V8引擎之上构建,也就意味着它的模型与浏览器类似。我们的JavaScript将会运行在单个进程的单个线程上。它带来的好处是:程序状态是单一的,在没有多线程的情况下没有锁、线程同步问题,操作系统在调度时也因为较少上下文的切换,可以很好地提高CPU的使用率。但是单进程单线程并非完美的结构,如今CPU基本均是多核的,真正的服务器(非VPS)往往还有多个CPU。一个Node进程只能...原创 2020-04-29 11:05:10 · 2281 阅读 · 1 评论 -
理解中间件的next怎样调用
app.use((ctx, next) => { console.log(1); next() console.log(2)})app.use((ctx, next) => { console.log(3); next() console.log(4)})app.use((ctx, next) => { console.log(5); ne...原创 2019-08-20 19:48:19 · 2144 阅读 · 0 评论 -
搭建Node集群
配置Node集群需要复制进程,而且通过主从模式并行处理业务。主进程不负责具体的业务处理,而是负责调度或管理工作进程,它是趋向于稳定的。工作进程负责具体的业务处理。关于本 Node 进程的介绍请看Node.js 中文网。复制进程child_process.fork() 方法是专门用于衍生新的 Node.js 进程。重要的是要记住,衍生的 Node.js 子进程独立于父进程,但两者之间建立的 ...原创 2019-06-27 18:07:34 · 1544 阅读 · 0 评论 -
Node设置响应头的方式
response.writeHead(statusCode[, statusMessage][, headers])版本历史statusCode <number>statusMessage <string>headers <Object>向请求发送响应头。 状态码是一个 3 位的 HTTP 状态码,如 404。 最后一个参数 headers 是响应头...转载 2019-06-21 16:23:05 · 11360 阅读 · 0 评论 -
简单入门Buffer
如果你第一次认识buffer,你可能会很陌生,因为在前端的JavaScript中并没有buffer,因为前端只要做一些字符串操作或DOM基本操作就能满足业务需求。buffer是什么?buffer是Node底层通过C++申请的内存,通过JS来分配内存。也就是存放文件的缓冲区。那么问题来了,为什么叫做缓存区,了解之前就要先跟大家科普一下V8的内存限制。当我们在代码中声明变量并赋值时,所使用对象的...原创 2019-06-15 20:34:40 · 2093 阅读 · 0 评论 -
Node中POST请求的数据解析
在业务中,我们往往需要接收一些数据,比如表单提交、文件提交、JSON上传、XML上传等。Node的 http 模块只对HTTP报文的头部进行了解析,然后触发 request 事件。如果请求中还带有内容部分(如 POST 请求,它具有报头和内容),内容部分需要用户自行接收和解析。通过报头的 Transfer-Encoding 或 Content-Length 即可判断请求中是否带有内容...原创 2019-06-19 17:37:41 · 4184 阅读 · 0 评论 -
npm全局模式安装的原理
但是在第三方模块中,模块与模块之间仍然是散列在各地的,相互之间不能直接引用。而在模块之外,包和NPM则是将模块联系起来的一种机制。原创 2019-04-29 08:21:14 · 1067 阅读 · 0 评论 -
style-resources-loader
style样式资源处理器,在style资源中注入内容,导入css / sass / scss / less / stylus这些内容主要作用导入一些公共的样式文件,比如:variables / mixins / functions,避免在每个样式文件中手动的@import导入module.exports = { // ... module: { rules: ...原创 2019-04-26 11:39:07 · 13116 阅读 · 0 评论 -
node如何进行文件定位
但在文件的定位过程中,还有一些细节需要注意,这主要包括文件扩展名的分析、目录和包的处理。转载 2019-04-26 07:35:15 · 615 阅读 · 0 评论 -
node自定义模块的路径查找
自定义模块指的是非核心模块,也不是路径形式的标识符。它是一种特殊的文件模块,可能是一个文件或者包的形式。这类模块的查找是最费时的,也是所有方式中最慢的一种。...原创 2019-04-26 07:37:01 · 2834 阅读 · 1 评论 -
使用node写附件下载功能
在一些场景下,无论响应的内容是什么样的MIME值,需求中并不要求客户端去打开它,只需弹出并下载它即可。为了满足这种需求, Content-Disposition 字段应声登场。 Content-Disposition 字段影响的行为是客户端会根据它的值判断是应该将报文数据当做即时浏览的内容,还是可下载的附件。当内容只需即时查看时,它的值为 inline ,当数据可以存为附件时,它的值为 attac...原创 2019-04-16 15:31:19 · 599 阅读 · 0 评论