Node.js(二)
前言
小白上路,文章内容可能比较浅显。用来记录自己学习的过程,也方便以后回头复习。
本篇文章对Node.js的部分对象进行了简单的阐述,以及个人对模块的一点理解,如有错误的地方望各位大牛及时指出。
一、全局对象
1)global对象
可以查看一个变量或者函数是否为全局,全局变量和全局函数都是全局对象global下的,可以通过global访问,例如,global.a global.fn…
在Node.js下,脚本文件不是在全局作用域下,防止了全局污染。
在JavaScript下,js的全局对象是window,脚本文件是在全局作用域下的,存在全局污染
2)console对象
console是程序的控制台,主要用于打印一些测试信息,可以帮助开发者做简单的调试工作,更高级的调试会用到debug工具。
常用命令如下(示例):
console.log() //打印日志
console.info() //打印消息
console.warn() //打印警告
console.error() //打印错误
console.time() //开始计时
console.timeEnd() //结束计时
开始计时和结束计时命令使用时里边的参数要保持一致
console.time('time');
for(let i=1;i<=10000;i++){
}
console.timeEnd('time');
3) process对象
进程,计算机上任何的软件启动后都是进程。
常用命令如下(示例):
process.arch //查看当前CPU的架构
process.platform //查看当前操作系统的版本
processs.version //查看当前Node.js版本号
process.pid //查看当前Node.js进程的编号
process.kill(编号) //结束指定编号的进程
4)Buffer对象
缓冲区、缓冲器,Buffer是内存中的区域,用于临时存储数据,Buffer中一个汉字占三个字节
Buffer.alloc(5,'abcde')//用于创建buffer并存储数据
String(buf)/buf.toString()//将buffer转为字符串
二、模块
1.模块是什么
每一个模块是一个独立的功能体,每一个文件就是一个模块
module.exports 当前模块导出的对象,默认是一个空对象,导出的内容需要添加到该对象。
require() 是一个函数,用于引入其它的模块,得到导出对象
主模块(示例):
let obj=require("./submodular.js");//引入其他模块
console.log(Obj.mya,Obj.myFunction)
同一级的模块必须加路径.
引入模块得到对方导出的对象
功能模块(示例):
//模块作用域
var a=10;
(()=>{
console.log('This is function module.');
})();
function fn(){
a=a+10;
return a;
}
//导出对象,默认为空对象
//要导出的内容,只要添加到该对象
module.exports={
mya:a,
myFunction:fn
}
module-------当前模块对象
module.exports-------当前模块导出的对象
require--------引入另一个模块
2.模块分类
分为自定义模块、核心模块、第三方模块。
以路径开头 | 不以路径开头 | |
---|---|---|
文件形式 | require(’./circle.js’)用于映入自定义模块 | require(‘url’)引入官方提供的核心模块 |
目录形式 | require(’./02ran’)首先会到02_ran目录中找package.json文件中main属性对应的文件,如果找不到会自动寻找index.js | require(‘ran’)首先到当前目录下的node_modules目录下寻找,如果找不到会一直往上一级寻找node_modules目录下寻找用于引入第三方模块 |
总结
学习Nodejs很有必要对对象和模块这两个部分吃透,这对后面学习是很有必要的,在练习当中可以多引入一些第三方模块来练习,例如一些简单的字符串模块、文件系统模块…
自定义模块也很重要,在自定义模块中我们可以实现一些我们自已需要的功能,所以必须了解引入和导出对象俩个基本概念,在以后使用中才能熟练。
菜鸟上路,请各路大神多多指教,如有错误的地方,望指出,好及时更正。