![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
node.js
Dove_1234
这个作者很懒,什么都没留下…
展开
-
4.1网络操作--网络操作介绍、API走马观花
前言不了解网络编程的程序员不是好前端,而NodeJS恰好提供了一扇了解网络编程的窗口。通过NodeJS,除了可以编写一些服务端程序来协助前端开发和测试外,还能够学习一些HTTP协议与Socket协议的相关知识,这些知识在优化前端性能和排查前端故障时说不定能派上用场。本章将介绍与之相关的NodeJS内置模块。一、网络操作介绍NodeJS 本来的用途是编写高性能 Web 服务器。我们首先在这里重复一下官方文档里的例子,使用 NodeJS 内置的 http 模块简单实现一个 HTTP 服务器。var转载 2020-08-03 16:41:04 · 122 阅读 · 0 评论 -
3.2文件操作--遍历目录、文本编码、总结
一、遍历目录遍历目录是操作文件时的一个常见需求。比如写一个程序,需要找到并处理指定目录下的所有JS文件时,就需要遍历整个目录。1.递归算法遍历目录时一般使用递归算法,否则就难以编写出简洁的代码。递归算法与数学归纳法类似,通过不断缩小问题的规模来解决问题。以下示例说明了这种方法。function factorial(n) { if (n === 1) { return 1; } else { return n * factorial(n - 1);转载 2020-08-03 16:05:54 · 278 阅读 · 0 评论 -
3.1文件操作--大文件拷贝、API走马观花
一、大文件拷贝NodeJS提供了基本的文件操作API,但是像文件拷贝这种高级功能就没有提供,因此我们先拿文件拷贝程序练手。与copy命令类似,我们的程序需要能接受源文件路径与目标文件路径两个参数。1.小文件拷贝我们使用NodeJS内置的fs模块简单实现这个程序如下。var fs = require('fs');function copy(src, dst) { fs.writeFileSync(dst, fs.readFileSync(src));}function main(a转载 2020-08-03 15:40:20 · 187 阅读 · 0 评论 -
2.4代码的组织和部署--工程目录、NPM、小结
工程目录了解了以上知识后,现在我们可以来完整地规划一个工程目录了。以编写一个命令行程序为例,一般我们会同时提供命令行模式和API模式两种使用方式,并且我们会借助三方包来编写代码。除了代码外,一个完整的程序也应该有自己的文档和测试用例。因此,一个标准的工程目录都看起来像下边这样。- /home/user/workspace/node-echo/ # 工程目录 - bin/ # 存放命令行相关代码 node-echo转载 2020-08-03 14:48:35 · 175 阅读 · 0 评论 -
2.3代码的组织和部署--命令行程序
使用NodeJS编写的东西,要么是一个包,要么是一个命令行程序,而前者最终也会用于开发后者。因此我们在部署代码时需要一些技巧,让用户觉得自己是在使用一个命令行程序。例如我们用NodeJS写了个程序,可以把命令行参数原样打印出来。该程序很简单,在主模块内实现了所有功能。并且写好后,我们把该程序部署在/home/user/bin/node-echo.js这个位置。为了在任何目录下都能运行该程序,我们需要使用以下终端命令。$node /home/user/bin/node-echo.js Hello Worl转载 2020-08-03 13:54:41 · 114 阅读 · 0 评论 -
2.2代码的组织和部署--包(package)
我们已经知道了JS模块的基本单位是单个JS文件,但复杂些的模块往往由多个子模块组成。为了便于管理和使用,我们可以把由多个子模块组成的大模块称做包,并把所有子模块放在同一个目录里。在组成一个包的所有子模块中,需要有一个入口模块,入口模块的导出对象被作为包的导出对象。例如有以下目录结构:- /home/user/lib/ - cat/ head.js body.js main.js其中cat目录定义了一个包,其中包含了3个子模块。main.js作转载 2020-08-03 13:47:40 · 172 阅读 · 0 评论 -
模块路径解析规则
我们已经知道,require函数支持斜杠(/)或盘符(C:)开头的绝对路径,也支持./开头的相对路径。但这两种路径在模块之间建立了强耦合关系,一旦某个模块文件的存放位置需要变更,使用该模块的其它模块的代码也需要跟着调整,变得牵一发动全身。因此,require函数支持第三种形式的路径,写法类似于foo/bar,并依次按照以下规则解析路径,直到找到模块位置。1.内置模块如果传递给require函数的是NodeJS内置模块名称,不做路径解析,直接返回内部模块的导出对象,例如require(‘fs’)。2转载 2020-08-03 11:57:27 · 262 阅读 · 0 评论