ECMAScript是语法规范

nodejs = ECMAScript + nodejsAPI,可完成服务端的任何操作

js = ECMAScript + WebAPI

common.js是nodejs的模块化规范

使用方法

a.js中写入

function add(a, b) {
  return a + b;
}

module.exports = add;

b.js中写入 

var add = require("./a");
var sum = add(10, 20);
console.log(sum);

在终端执行 node b.js 输出30

导出多个模块

a.js中写入

function add(a, b) {
  return a + b;
}
function mul(a, b) {
  return a * b;
}

module.exports = { add, mul };

b.js中导出模块

var { add, mul } = require("./a");

上面代码相当于

var ops = require("./a");
var add = ops.add;
var mul = ops.mul;

注意导出模块的名字必须与导入的模块名字相同

导入其他插件

初始化npm环境

npm init -y

安装lodash

npm i lodash

导入方式相同

var _ = require("lodash");

开发接口(不用任何框架)

nodejs是如何处理http请求

http请求概述

1.客户端DNS解析,建立TCP连接,发送http请求

2.server端接收http请求,处理,并返回

3.客户端接收到返回的数据,处理数据(如渲染页面,执行js) 

注:

DNS解析:我们访问的网址如百度,是一个域名,这个域名通过DNS解析为对应的一个ip地址,客户端找到IP地址后会进行TCP连接

nodejs处理路由

var http = require("http");
var queryString = require("querystring");

var server = http.createServer((req, res) => {
  var url = req.url;
  var path = url.split("?")[0];
  req.query = queryString.parse(url.split("?")[1]);
});

nodejs处理get请求

var http = require("http");
var queryString = require("querystring");

var server = http.createServer((req, res) => {
  var method = req.method;
  console.log(method);
  var url = req.url;
  req.query = queryString.parse(url.split("?")[1]);
  res.end(JSON.stringify(req.query));
});

server.listen(8080, function() {
  console.log("listening on 8080");
});

nodejs处理post请求 

使用postman插件,百度搜postman chrome crx 下载 或直接下载postman app

var http = require("http");
var queryString = require("querystring");

var server = http.createServer((req, res) => {
  if (req.method === "POST") {
    console.log("content-type", req.headers["content-type"]);
  }
  var postData = "";
  res.on("data", function(chunk) {
    postData += chunk.toString();
  });
  res.on("end", function() {
    console.log(postData);
    res.end(JSON.stringify(postData));
  });
});

server.listen(8080, function() {
  console.log("listening on 8080");
});

nodejs处理返回响应的格式

// 设置返回的格式为json
res.setHeader('Content-type','application/json')

搭建开发环境

使用nodeMon监测文件变化,自动重启node

使用cross-env设置环境变量,兼容mac linux和windows

开发接口(暂不连接数据库,暂不考虑登录)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐