node.js总结(一)

一.什么是node.js?

简单的说就是运行在服务器端的js.(而普通js是运行在浏览器端的)

安装地址:https://nodejs.org/zh-cn/

二.在node.js中运行js方法

1.在REPL中运行(什么是REPL?完整英文read eval print loop,就是读,解析,打印,循环))
步骤:
a.输入node指令
b.进入一个可以运行js代码的环境
c.输入js代码
d.回车立刻执行
演示操作如下:(解释后面有undefined的原因,因为它会自动接着打印函数的返回值,如果函数里面没有写return返回值,就会有undefined)在这里插入图片描述

2.在vscode终端中编译js文件;
演示如下:在这里插入图片描述

三.node.js模块

1.内置模块:
a.装了node 就有;
b.只需要引入即可;
比如: fs (可以读写文件,而浏览器没有这一项功能),http(可以创建服务器).
演示代码:

//http模块结合fs的使用---------------------------------------------------------------------------------------------------------

//1.导入内置模块fs
const fs =require('fs');
//2.导入内置模块http
const http=require('http');


//3.http创建服务器
let server= http.createServer(function(req,res){
// 里面读取index.html文件并返回
fs.readFile('./www/index.html',function(err,data){
    if(err){
        res.end('404')
    }else{
       res.end(data.toString());
    }
})
})

//4.开启监听
server.listen('8887',()=>{
    console.log("开启服务器");
});

2.第三方模块:
a.需要安装才有;
b.查找第三方模块网站:https://www.npmjs.com/
c.比如:
cnpm(英文全称china node package manager,是国内用它来安装 node的第三方模块 速度回快很多 稳定);
nodemon(自动检测文件更改);
mysql(操纵mysql数据库);
演示代码:

// 导入模块
let mysql      = require('mysql');
// 创建数据库连接
let connection = mysql.createConnection({
  host     : 'localhost',
  user     : 'root',
  password : 'root',
  database : 'letao'//数据库名
});
//  连接数据库
connection.connect();
//  执行数据库语句
connection.query(' select * from user', function (error, results, fields) {//里面是数据库语句
  if (error) throw error;//如果异常就抛出异常
  console.log(results);
});
//  关闭数据库
connection.end();

crawler(爬虫,爬取其它网站的数据);
演示代码:


// 导入模块
const Crawler = require("crawler");
//导入fs

const fs=require('fs');
 
// 实例化
const c = new Crawler({
    // 最大的连接数
    maxConnections : 10,
    //回调函数,即爬到了之后
    callback : function (error, res, done) {
        if(error){
            console.log(error);
        }else{
            var $ = res.$;
            // $ is Cheerio by default
            //a lean implementation of core jQuery designed specifically for the server
            //如果能爬到数据,我们可以用类似jQ的语法进行解析
            console.log($("title").text());
            // 将获取到的内容存到变量里
           let str=$('title').text();
           //把变量写入到2.txt的文件中(没有文件名的话会自动创建)
            fs.writeFile('./data/2.txt',str,function(err){

            })
            

        }
        done();
    }
});
 
// Queue just one URL, with default callback
c.queue('http://www.jd.com');

四.ECMAScript 6语法(即es6)

1.变量的声明:
let变量的特点:不会变量提升;有块级作用域.
const常量的特点:声明之后无法修改;不会变量提升;有块级作用域;

2.对象的简单赋值
在这里插入图片描述
3.箭头函数
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/xiaodi520520/article/details/85238648