node如何搭建服务

NodeJS模块概述

1、NodeJS模块

为了Node.js的文件可以相互调用,Node.js提供了一个简单的模块系统

模块是Node.js 应用程序的基本组成部分,文件和模块是一一对应的

Node.js 文件就是一个模块。

2、NodeJS加载已安装模块

安装模块 axios

npm install axios

axios 会被安装到node_modules目录下

js文件中使用require可以加载模块

var http = require(“axios");

加载node_modules下的模块不需要使用路径

3、NodeJS加载自定义模块

每一个js文件在Node中都被视为一个模块

1.创建模块 util.js 

module.exports={

  max:function(a,b){

  return a>b?a:b;

  }

  }

2.加载util.js模块

var util = require("./util");

console.log(util.max(10,5));

加载自定义模块需要使用相对路径

NodeJS模块fs

1、NodeJS同步与异步

JavaScript 默认情况下是同步的,并且是单线程的。

 这意味着代码无法创建新的线程并且不能并行运行。

同步与异步:

同步:阻塞程序执行,直到处理完毕才能继续执行

异步:在没有处理完成之前先执行后续代码段,通过回到函数接受处理结果

Node.js 中操作文件最简单的方式是使用 fs模块

fs模块支持同步与异步两种操作

2、NodeJS同步读取

var fs = require("fs")

// 同步 读取文件内容

var data = fs.readFileSync("main1.js", "utf8");

console.log("读取完毕");

console.log(data);

只有等待文件读取完毕以后才能执行后续代码

3、NodeJS异步读取

var fs = require("fs")

// 异步 读取文件内容

fs.readFile("main1.js", "utf8", function(err, data){

  if(!err){

  console.log(data);

  }

})

console.log(“读取完毕”); //没有读取完毕

4、NodeJS同步写入

var fs = require("fs")

//同步  写入文件内容

fs.writeFileSync("data.txt", "你好")

console.log("写入完毕");

5、NodeJS异步写入

var fs = require("fs")

//异步  写入文件内容

fs.writeFile("data.txt", "你好",  function(err){

  if(!err){

    console.log(err);

  }

})



console.log(“写入完毕”); //没有写入完毕

NodeJS模块mysql

1、NodeJS 与MySql数据库

MySql是典型的数据库管理系统,占有较大的市场份额

重要概念:

数据库管理系统(包含多个数据库)

数据库(包含多个表)

表(包含多行)

行(包含多个字段)

字段(属性信息)

2、模块安装

Mysql模块是在NodeJS中与mysql数据库交互的模块

安装

npm install mysql

3、链接实例

通过 IP、端口、用户名、密码、数据库名指定

var mysql = require("mysql");

var con = mysql.createConnection({

  host     : 'localhost',

  user     : 'root',

  password : '123456',

  database : 'polls'

})

4、链接

con.connect(function(err){

    if(!err){

        console.log("链接成功");

    }

})

5、断开

con.end(function(err){

    if(!err){

        console.log("断开链接");

    }

})

6、CURD

var str = "select name from ";

con.query(str, function(err, result){

    if(!err){

        console.log(result);

    }

})

可以对查询结果进行遍历

7、事务支持

var str = "insert into person values('zzy"+i+"', 0)"

con.beginTransaction();

con.query(str, function(err){

    if(!err){

        console.log("插入成功");

    }

})

con.commit()

NodeJS模块http

1、HTTP服务器

NodeJS 可以使用http模块来创建http服务器

http已经被集成在node的基础库中

var http = require("http")

var server = http.createServer(function(req, res){

  res.statusCode=200;

  res.setHeader("Content-Type", "application/json; charset=utf-8")

  res.end('{"errorCode":0, "msg":"你好,Guest"}')

})

server.listen(8888, function(){

  console.log("服务器启动成功");

})

2、NodeJS 获取HTTP  请求信息

HTTP信息是包含在参数request中的

通过url模块可以对request对象进行解析

req.url 中包含的就是路由信息

 var urlInfo = url.parse(req.url);

  console.log(urlInfo);

猜你喜欢

转载自blog.csdn.net/m0_56398485/article/details/126841804