node.js初步探究
node.js 探究之路
1、mac下安装node.js
(1)、升级系统到最新
(2)、升级xcode
xcode-select -p //检查是否安装xcode,如果出现路径,说明已安装xcode-select -install //安装xcode/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" //安装homebrew,官网:https://brew.sh/index_zh-cn.htmlbrew install node //使用HomeBrew安装nodejsnpm intall -g n //安装n模块到全局,从而控制node版本
2、node启一个web服务器
新建node_test目录,内部创建server.js文件,写入一下代码,
终端执行:
$ cd node_test/imooc/beginning
$ node server.js
注意: 每次修改 response.end('Hello Worldn') 返回的内容时,都要在终端执行" ctrl+c "停止当前服务,再重新启动 "node server.js"。
3、node模块系统
在node.js中,文件和模块是一一对应的。
(1)、模块流程:
(2)、module.exports和export区别:
module.exports = add; //特别的对象类型;(推荐使用,支持现有),module.exports最终返回给调用者;exports.add = add; //传统的模块实例;(exports是辅助方法),exports挂载属性和方法,然后把属性赋给module.exports;
4、node API 之 url
(1)、url.parse()
url地址组成:
protocol:指定底层使用协议,http或ftp等
slashes:是否有协议的双斜线
host:http的IP地址或域名
port:端口
hostname:主机名
hash:哈希值,锚点
search:查询字符串参数
query:发送给http的数据,参数串
pathname:访问资源路径名
path:路径
href:超链接
URI :Uniform Resource Identifier,统一资源标识符;
URL:Uniform Resource Locator,统一资源定位符;
URN:Uniform Resource Name,统一资源名称。
其中,URL,URN是URI的子集。
(2)、url.parse(urlString,bool,bool): 将定位符解析成对象,识别无协议的url
第二个参数决定query部分以字符串返回还是以对象形式返回,默认为字符串返回即第二个参数默认为false;
以上图中设置为 true,看到的query是对象形式。
第三个参数表示在没有完整协议串的时候(即无http:,https:)的时候‘//’之后的字符如何解释,若为false即将‘//’之后的当做路径解释,若为true则会将‘//’与‘/’之间的字符串解释为主机
对比上图中加入第三个参数,发现pathname,paht,host,port,hostname都会不同。
(3)、url.resolve(): 将一个基本URL和指定超链接目标URL合并
(4)、url.format(): 将对象解析成定位符(也就是URL)
5、QueryString使用
(1)、querystring.stringify(obj,para1,para2)//将对象转化成url中query部分的形式(序列化)
参数:1.要转化的对象 2.参数之间的链接符(默认&)3.键与值之间的符号(默认=)
(2)、querystring.parse(string,para1,para2)//将query字符串转化成对象(反序列化)
参数: 1.query字符串 2.链接符(默认&),如果不是‘&’,需要在参数中说明使用的符号,如下面的‘,’。 3.键与值之间的符号(默认=),如果使用的不是‘=’,需要在参数中说明使用的符号,如线面的‘:’。 4.参数的个数(默认最多1000个,0就没有限制)
(3)、querystring.escape(string)//文字转译
(4)、uquerystring.unescape(string)//反转译
5、node API 之 path
注意:该方法属于path模块,使用前需要引入path模块(var path= require(“path”) )
path.resolve方法用于将相对路径转为绝对路径:
path.resolve([from ...], to) //将参数 to 位置的字符解析到一个绝对路径里。其中:from 源路径,to 将被解析到绝对路径的字符串。
例子:
node.js初步探究相关推荐
- Node.js 初步学习总结
Node.js是一个基于Goolgle所开发的Chrome浏览器引擎的JavaScript运行环境,简单的说,它就是运行在服务端的JavaScript,使用了很多先进的技术,其中包括事件驱动,非阻塞式 ...
- node.js初步认识
nodejs实际上就是在,nodejs是单线程的.不会被IO阻塞,网页里面随便输入路径都是主路径,需要做判断,跟老牌tomcat等不能比,不过node强在年轻,有他的优势.虽然就一幅图,不过也是自己学 ...
- 安装node.js 附带node.js以及npm初步认识 设置淘宝/npm镜像 命令
1,安装: 下载地址:https://nodejs.org/en/download/ 0积分:https://download.csdn.net/download/weixin_42859280/12 ...
- Node.js模块化机制原理探究
前言 Node应用是由模块组成的,Node遵循了CommonJS的模块规范,来隔离每个模块的作用域,使每个模块在它自身的命名空间中执行. CommonJS规范的主要内容: 模块必须通过 module. ...
- node.js+室内装修风格选择系统 毕业设计-附源码211552
node.js室内装修风格选择系统 摘 要 随着互联网技术的深入发展和成熟,"物联网时代"到来的呼声日益高涨,国家"十二五"规划中也明确将物联网作为战略性新兴 ...
- 排查 Node.js 服务内存泄漏,没想到竟是它?
背景 团队最近将两个项目迁移至 degg 2.0 中,两个项目均出现比较严重的内存泄漏问题,此处以本人维护的埋点服务为例进行排查.服务上线后内存增长如下图,其中红框为 degg 2.0 线上运行的时间 ...
- 第一个实例-----我与node.js的第一步接触
因为最近有东西需要用到node.js,所以我就在linux虚拟机上安装了node.js,对于javascript,也是第一次接触. 刚入门,就是一个实用的案例,毕竟这些东西都是实践出真知.这个案例就是 ...
- Node.js实现简易爬虫
为什么选择利用node来写爬虫呢?就是因为cheerio这个库,全兼容jQuery语法,熟悉的话用起来真真是爽 依赖选择 cheerio: Node.js 版的jQuery http:封装了一个HTP ...
- node.js 搭建blog
搭建开发环境并模拟交互数据 一.实验说明 下述介绍为实验楼默认环境,如果您使用的是定制环境,请修改成您自己的环境介绍. 三.功能模块分析与设计 四.搭建开发环境 LouBlog 使用 nodeJS 搭 ...
最新文章
- 腾讯云的ubuntu虚拟主机上再安装VirtualBox遇到的一些错误
- python字符串_Python字符串格式化%s%d%f详解
- Android 去除最上面应用名称及图标
- Google作图工具- SketchUp
- win10语音识别的设置和开启
- python_三目运算
- ThinkPhp 更改 BIT 类型的问题
- ubuntu 20.04命令行模式_Ubuntu18.04LTS升级到20.04LTS
- 【回放视频+PPT下载整理】Elasticsearch Meetup系列第二期
- gradle配置阿里Maven仓库
- Flutter笔记--Sliver用法
- Linux下载神器XDM,代替IDM
- openGL 纹理使用
- 云服务器数据丢失可以恢复吗?
- 【0429】散列函数和消息鉴别
- manjaro安装-制作安装U盘
- Linux Let's Encrypt生成免费证书
- 米酷修正影视7.2完整版源码
- 服务器显示四个0,魔兽9.0来了,首日多个服务器爆满,玩家排了4小时也没登上...
- Augustus安装小记
热门文章
- java guava 使用_Java8-Guava实战示例
- QPropertyAnimation实现游戏地图场景变换
- IDEA 的 LeetCode 刷题插件 leetcode editor
- python知识:@classmethod和@staticmethod的异同
- 类别选择器在HTML中如何表示,CSS类别选择器
- python集合的并集、交集_Python 集合set()添加删除、交集、并集、集合操作详解
- runtimeexception异常_应用系统的异常管理-持续更新
- 【新星计划】MATLAB绘制图形
- 2021-01-20 Python编程特殊小技巧汇集
- 用java写一个日历_2017.12.2 用java做一个日历