Node.js-1

141 阅读2分钟

什么是Node.js

Node.js是基于Chrome V8引擎的JavaScript语音运行环境。

Node.js可以说的对JavaScript的扩展,使js可以操作文件和数据库。

Node.js使用了一个事件驱动、非阻塞式I/O的模型,使其轻量又高效。(阻塞式的I/O模型:异步的输入输出,比如: 文件操作、数据库操作 等)。

Node.js模块化的问题

Node.js采用了common.js规范

内置模块->可以直接使用

第三方模块->Node.js没有的,类似于插件,需要下载

自定义模块

模块化解决的问题:使js可以引入其他的文件。

Node.js的模块的使用

声明对象引入模块比如const http=require("http/模块名")。

使用第三方模块

npm install "模块名" -D(开发环境)/-S(生产环境)。

第三方模块的使用:先在npmjs.com查阅api,写单案例测试。

自定义模块

先定义模块,模块可以是对象,字符串,函数,然后通过module.exprots=(对象,字符,函数的名字)。导出模块。

引入模块const 变量名=require("模块的相对路径")

自定义模块的上传

-创建文件夹(注意不要重名,可以在npmjs.com网站上查看是否重名)。

-通过npm init 一直回车/npm init -y生成package.json文件。

-创建index.js文件,里面封装模块

-创建npmjs账号,保证当前使用的源是npm源,可通过npm ls查看使用源以及npm use npm切换源。

-登录npm账号 npm adduser

-上传 npm publish

内置模块

http:处理与服务器相关的一些功能

http.createServer((requset,reponse)=>{
  reponse.write("需要发送的信息");
  reponse.end();
}).listen(("端口""域名")=>{
   consloe.log("服务器运行在:","http://"域名":"端口"");
})

url:解析处理url地址。

url.parse("url地址");//将url地址转成一个对象。

fs:操作文件。

fs.readFileSync("文件的相对路径");
fs.readFile("文件的相对路径",(err,data)=>{
  if(err){
      console.log("读取失败了");
  }else{
      console.log(data)
  }
});//err:错误信息,data:读取的文档内容。注:读取的内容是二进制格式,需要对读取出来的数据使用toString方法,或传递一个字符编码作为参数utf8。

querystring:对url地址?后面的查找字符串进行处理。一般和url一起配合使用

querystring.parse(url.poarse("url地址").query,"&,"=");//结果是将查找字符串用&和=分割成的对象

path:操作绝对地址

path.resolve(__dirname,"aa")//在绝对地址后拼接上/aa,__dirname是Node.js的全局对象global下面的一个属性代表文件的绝对地址

第三方模块

request:用来获取接口地址的数据

request('接口地址', function (error, response, body) {
console.log('error:', error); //错误信息
console.log('statusCode:', response && response.statusCode); //状态码
console.log('body:', body); //数据内容
});