zoukankan      html  css  js  c++  java
  • node.js介绍

    概念:

    1、能够运行javascript的服务器

    2、用javascript语言编写的后端

    3、强大的包管理器npm,可以安装依赖插件


    ->特性:
    1).事件驱动
    2).非阻塞I/O模型
    3).轻量高效

    node.js使用场景(实时聊天、电子商务)
    1).高并发/低业务的网络请求
    2).实时应用


    node.js安装和使用
    1.官网:参考网站:http://nodejs.cn/

    1).初始化项目
    npm init (V8.1版本的需要跳过配置npm init -y)
    2).添加依赖
    npm install packageName --save-dev
    3).也可以根据package.json中已经设置好的依赖名字,做全部安装.
    npm install

    node.js编程基础
    1.模块
    ->使用一个npm安装模块,例如gulp
    1).main.js中直接用require来注入.
    require()会在node_modules这个文件夹里去找.
    2).如果是自定义的模块index.js,则需要按照相对路径来写.
    3).导入时可以省略 .js 后缀
    ->自定义模块
    要想把模块暴露出来,需要用关键字exports来暴露API
    index.js 想让它暴露出来一个API
    exports.goodTeacher = function(){
    console.log('MR.Wang is a best teacher of the world!');
    }
    2.node.js的文件系统(fs),是一个系统的依赖.
    1.导入文件系统fs依赖
    var fs = require('fs');
    2.读取
    // 同步读取
    var data = fs.readFileSync('data.txt');
    // 打印出来,原生是buffer数据,需要转码
    console.log(data.toString());
    console.log('结束');
    3.node.js的回调函数
    ->node.js的异步编程的直接体现就是回调函数.
    // 异步读取
    // 异步读取
    var time = new Date();
    fs.readFile('data.txt', function (err,data) {
    console.log(data.toString());
    console.log('读取本地文件耗时:' + (new Date() - time)+'毫秒');
    });
    console.log('完毕');
    4.readFile()// 读取文件
    ->fs.readFile(path,[option],callback)
    ->callback函数有两个参数function(err,data){}
    1).err是读取文件失败后出发的错误对象
    2).data是从文件中读取的数据.

    5.writeFile()// 写入文件
    ->fs.writeFile(path,data,[option],callback)
    var str = '此情此景,我想吟诗一首!'
    fs.writeFile('data1.txt', str, function (err) {
    if (err) {
    throw err;
    }
    console.log('写入成功!');
    });
    ->默认的第三个参数是{flag='w'},是写的操作.会清空掉文件.如果想要追加内容,可以设置{flag='a'}
    fs.writeFile('data1.txt', str,{flag:'a'}, function (err) {
    if (err) {
    throw err;
    }
    console.log('写入成功!');
    });
    ->{flag:'w'}为默认值,w代表写文件,a代表追加内容,r代表读取文件.
    6.创建目录
    fs.mkdir(path,[mode],callback)// 创建目录
    ->path是需要创建的目录
    ->[mode]是目录权限(默认0777)
    ->callback是回调函数
    7.删除目录
    fs.rmdir(path,callback);// 但是只能删除空目录
    8.读取目录
    fs.readdir(path,callback);// 读取文件目录
    ->回调函数里有两个参数,function(err,files){}
    ->err表示读取失败触发的错误对象.
    ->files表示读取的文件目录,是一个数组.

    3.http模块
    ->提供web服务的一个模块,是系统内置的服务
    ->手写一个http服务
    ->引入http模块
    var http = require('http');
    ->创建一个服务
    http.createServer(function(req,res){
    res.writeHead(200,{'Content-Type':'text/html'});
    res.write('<head><meta charset="utf-8"></head>')

    res.write('hello world');
    res.end('goodBye');

    }).listen(8888);
    console.log('sever success');
    ->浏览器地址栏输入:localhost:8888或者127.0.0.1:8888


    拓展:
    服务端:
    ->服务器:
    1).就是一台电脑,用来提供其他客户机的服务请求.
    2).软件服务器:DNS服务器,Web服务器,数据库服务器,FTP服务器,SMTP/POP3服务器
    ->服务器的操作系统
    windows server/Linux(Ubuntu/centos/红旗/麒麟)/Unix
    ->服务器的服务环境:
    Apache/Tomcat/IIS
    LMAP(Linux+Apache+Mysql/MariaDB+Perl/PHP/Python)

  • 相关阅读:
    C# Excel工作表区域Range装入数组
    【Word VBA】批量插入图片到表格
    C# Office Com 开发 创建任务窗格 CustomTaskPane
    C# Office Com 开发 Excel插件与函数dll注册
    视频逐帧转换为图片
    ssh 免密登录
    NPS 内网穿透配置
    php7.3 centos Call to undefined function AdminControllermcrypt_get_block_size()
    Centos 6 安装 php7.3.x
    nginx配置之proxy_pass路径加斜杠/以及包含路径的区别
  • 原文地址:https://www.cnblogs.com/zhaodagang8/p/7821719.html
Copyright © 2011-2022 走看看