nodeJs使用教程

一、模块化

我们知道nodeJS是遵循CommonJS规范的,所以每个JS文件都是一个模块,模块的好处就是避免命名空间污染。倘若你想让一个模块对外暴露变量,可以用module.exports = varible;

var test = "我是test里面的字符串";
module.exports = {
    test
}

而一个模块想要引用另一个模块对外暴露的变量,用require关键字就行了

var index = require("./test.js");
console.log(index.test);

这样test里面的变量就被index里面引用了

nodeJs使用教程_第1张图片
image.png

二、内置模块

1. http

创建一个HTTP服务器,监听HTTP客户端请求并返回响应。但是应用程序不直接与HTTP打交道,而是操作HTTP模块提供request和response对象。

  • request对象封装了HTTP请求,我们调用request对象的属性和方法就可以拿到所有HTTP请求的信息。

  • response对象封装了HTTP响应,我们操作response对象的方法,就可以把黄土坡响应返回给浏览器。

// 导入HTTP模块
var http = require("http");
// 创建HTTP server 并传入回调函数
var server = http.createServer(function (req,res) {
    //设置浏览器的编码格式
    res.setHeader("Content-type","text/html;charset=utf-8");
    // 将HTTP响应的HTML内容写入到浏览器中
    res.write("你好,世界");
    res.end();
})
//让服务器监听8888端口
server.listen(8888);

在浏览器中输入localhost:8888就可以输出 “你好,世界”。

2. fs

该fs模块提供了一个API,用于以与标准POSIX功能紧密相关的方式与文件系统进行交互。

要使用这个模块:

const fs = require('fs');
所有的文件系统操作都有同步和异步的形式。

异步表单总是将完成回调作为最后一个参数。传递给完成回调的参数取决于方法,但第一个参数总是保留给一个异常。如果操作成功完成,那么第一个参数将是null或undefined。

3.url

解析URL、生成URL、以及拼接URL

var url = require("url");
var http = require("http");
var server = http.createServer(function (req,res) {
    var pathname = url.parse(req.url,true);
    console.log(pathname);
    res.end();
})
server.listen(8888);
nodeJs使用教程_第2张图片
image.png

可以获取从前台地址栏传过来的URL链接

4.querystring

用于实现URL参数字符串与参数对象的互相转换

该querystring.escape()方法对给定的URL百分比编码str以针对URL查询字符串的特定需求而优化的方式执行 。

该querystring.escape()方法被使用querystring.stringify()并且通常不被直接使用。它的导出主要是为了允许应用程序代码通过分配querystring.escape一个替代函数来提供一个替换的百分比编码实现。

4. express

express 是Node.js应用最广泛的web框架
Express 是一个简洁而灵活的 node.js Web应用框架, 提供了一系列强大特性帮助你创建各种 Web 应用,和丰富的 HTTP 工具。

使用 Express 可以快速地搭建一个完整功能的网站。

Express 框架核心特性:

可以设置中间件来响应 HTTP 请求。

定义了路由表用于执行不同的 HTTP 请求动作。

可以通过向模板传递参数来动态渲染 HTML 页面。

5. cheerio

可以理解为一个Node.js版的jQuery,用来从网页中以css selector取数据,使用方式跟jQuery一样

首先就爱那个网页读取为一个字符串,传给cheerio.load函数,返回值即是一个cheerio对象(类似于jQuery对象)

var cheerio = require("cheerio");

function getData(str) {
    var $ = cheerio.load(str);
    var arr = $(".link-dark");
    var dataTemp = [];
    arr.each(function (k,v) {
        // console.log($(v).text());
        var title = $(v).text();
        var obj = {
            id:(k+1),
            content:title,
        }
        dataTemp.push(obj);
    })
    // console.log(dataTemp);
    return dataTemp;
}

6. util

是 node 里面一个工具模块 ,node 里面几乎所有的模块 都会用到 在这个模块

  • 1 实现继承 这是主要功能
  • 2 实现对象的完整输出
  • 3 实现判断数据类型
//引入工具类
var util = require("util");

function Parent(){
    //继承Parent函数内的内容 为内部继承
    this.name = "爸爸";
    this.age = "50";
    this.sayHello = function(){
        console.log("hello");
    }
}
//继承Parent的外加属性 为外部继承
Parent.prototype.getName = function(){
    console.log(this.name);
}

function Child(){
    //不使用inherits实现继承
    Parent.call(this);
}
//实现child继承parent
// 工具类 util 里面的inherits 只能继承原型链(prototype)的方法和属性,无法继承类自有(直接写在类里面的)的方法和属性
util.inherits(Child,Parent);
console.log(Child)

你可能感兴趣的:(nodeJs使用教程)