第一次接触node.JS

1.初识node.js

node.js平时可以关注:

一、nodejs.org看看nodejs的版本升级,新特性的加入,重要bug的修复等
二、www.npmjs.com模块社区,看他人源代码,省力
三、github.com大量的项目和源码
四、stackoverflow.com技术解答社区以及查询相关资源,环境配置,异常均可找到答案

从这四个方面了解下node.js的知识。

node的版本问题:

初次体验node.js的代码:

在server.js中输入:

1 var http = require('http');
2 var server = http.createServer(function(req,res){
3     res.writeHead(200,{'Content-Type':'text/plain'});
4     res.end('hello xuzhudong
');
5 })
6 server.listen(1337,'127.0.0.1');
7 console.log('Server running at http://127.0.0.1:1337/');

运行git bash,输入node server.js,就可以看到

在浏览器中输入接口:http://127.0.0.1:1337/,就可以看到输出:

2.模块和包管理工具

在这里先了解下CommonJS,它也影响着node.js,node.js也有着自己的一套模块管理工具。

Commonjs是一套规范呐!
CommonJS模块的特点如下:
所有代码都运行在模块作用域,不会污染全局作用域。
模块可以多次加载,但是只会在第一次加载时运行一次,然后运行结果就被缓存了,以后再加载,就直接读取缓存结果。要想让模块再次运行,必须清除缓存。
模块加载的顺序,按照其在代码中出现的顺序。

node.js的模块分类:

node.js的流程

3.node.js解析URL地址

进入node环境下:

解析一段url地址:使用url.parse()方法

在上图中:

slash是斜线,query 参数列表

 

url语法:

url.parse(urlStr, [parseQueryString], [slashesDenoteHost])

url接收三个参数:

urlStr                                       url字符串

parseQueryString                   为true时将使用查询模块分析查询字符串,默认为false

slashesDenoteHost               

默认为false,//foo/bar 形式的字符串将被解释成 { pathname: ‘//foo/bar' }

如果设置成true,//foo/bar 形式的字符串将被解释成  { host: ‘foo', pathname: ‘/bar' }

如下图:parseQueryString  为true时,可知query已经属于分析状态。

对于另外一种格式的url地址:

slashesDenoteHost 使用的时候:host和hostname,pathname都有解析

url.format()方法,将一个解析后的URL对象、转成、一个格式化的URL字符串

 

url.resolve方法,为URL或 href 插入 或 替换原有的标签

源码:

原文地址:https://www.cnblogs.com/xuzhudong/p/6568483.html