Node.js_1.1

Posted 小咸鱼|大梦想

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Node.js_1.1相关的知识,希望对你有一定的参考价值。

Node.js简介

  • Node.js是一个能够在服务器端运行javascript的开源代码、跨平台JavaScript运行环境
  • Node采用Google开发的V8引擎运行js代码,使用事件驱动、非阻塞和异步I/O模型等技术来提高性能,可优化应用程序的传输量和规模
  • Node大部分基本模块都用JavaSprit编写。在Node出现之前JS通常作为客户端程序设计语言使用,以JS写出的程序通常在用户的浏览器上运行

安装Node环境

  • 查看当前Node环境版本号
    • node --version
  • 下载:https://nodejs.org/en/download/
  • 安装
    • next
    • 安装过的重新安装就会升级
  • 确认Node环境变量是否安装成功
    • 在node安装目录下cmd执行node --version或者node -v
  • 环境变量

执行js代码

  • 编写js代码
  • 打开终端,定位到脚本文件所属的目录
  • 输入node 文件名执行对应的文件
  • 【注意】文件名不要使用node.js执行对应的文件
  • 在Node中,采用EcmaScript进行编码,没有BOMDOM

读写文件

//fs是file-system的简写,就是文件系统的意思
//在Node中如果想要进行文件操作,就必须引入fs这个核心模块
//在fs这个核心模块中,就提供了所有的文件操作相关的API
//例如:fs。readFile就是用来读取文件的

//1.使用require方法加载fs模块 
var fs=require("fs");

//2.读取文件
//  第一个参数就是要读取的文件路径
//  第二个参数是一个回调函数
//      error
//          如果读取失败,error就是错误对象
//          如果读取成功。error就是null
//      data
//          如果读取失败,data就是错误对象
//          如果读取成功,data就是读取到的数据
fs.readFile("./Node.js简介.md", function(error, data) {
    // <Buffer 23 23 23 20 4e 6f 64 65 2e 6a 73 e7 ae 80 e4 bb 8b 0d 0a 0d 0a 2a 20 4e 6f 64 65 2e 6a 73 e6 98 af e4 b8 80 e4 b8 aa e8 83 bd e5 a4 9f e5 9c a8 e6 9c ... 1740 more bytes>
    // 不是0 1 是因为二进制转换为16进制
    // 文件中存储的都是二进制数据
    // 可以通过toString()方法转换为我们可以看懂的
    console.log(data.toString());
            //通过判断error来判断有没有错误发生
        if (error) {
            console.log("有错误发生");
        } else {
            console.log(data.toString());
        }
})

写文件

//1.使用require方法加载fs模块 
var fs=require("fs");

//第一个参数:文件路径
//第二个参数:文件内容
//第三个参数:回调函数
//  erroe
//      成功:文件写入成功、error是null
//      失败:文件写入失败、error是错误对象
fs.writeFile('./helle')

node创建服务器

// 1.加载http核心模块
var http = require('http');
// 2.使用http.createServer()方法创建一个WEB 服务器
//   返回一个Server实例
var server = http.createServer();
// 3.服务器
//  发请求 接受请求 处理请求    发送响应
//  注册request 请求事件
//  当客户端请求过来,就会自动触发服务器的request请求事件,然后执行第二个参数:回调函数
server.on('request', function(request, response) {

    // request 请求事件处理函数,需要接受两个参数
    //  Request请求对象
    //      请求对象可以用来获取客户端的一些请求信息,例如请求路径
    //  Response 相应对象
    //      响应对象可以用来给客户端发送响应消息
    console.log('收到客户请求,请求路径是:' + request.url);

    // response对象有一个方法:write可以用来给客户端发送响应数据
    // write可以使用多次,但是最后一定要用end来结束响应,否则客户端会一直等待
    // response.write("hello")
    // response.write(" world")

    // 结束响应并且给客户端发送响应
    response.end('hello world');

})

// 4.绑定端口号,启动服务器
server.listen(3000, function() {
    console.log("服务器启动成功");
});

Node中的JavaScript

  • EcmaScript

    • 没有DOMBOM
  • 核心模块

    在Node中为JavaScript提供了很多服务器级别的API,这些API绝大多数都被包装到了一个具名的核心模块中了。例如文件操作的fs核心模块,http服务构建的http模块,path路径操作模块,os操作系统信息模块

    //require用来加载核心模块
    var fs=require('fs');
  • 第三方模块

  • 用户自定义模块

    //require 方法的作用
    //        1.加载文件模块并执行里面的代码
    //        2.拿到被加载文件模块导出的接口对象
    //        每个文件模块中都提供一个对象exports
    //            exports默认是一个空对象
    //            需要把所有需要被外部访问的成员添加到这个对象中

    Web服务器开发

    • ip地址和端口号
      • ip地址用来定位计算机
      • 端口号用来定位具体的应用程序
      • 一切需要联网通信的软件都会占用一个端口号
      • 端口号的范围从0-65536之间
      • 计算机中有一些默认端口号,最好不要去使用
        • 例如http服务的80

以上是关于Node.js_1.1的主要内容,如果未能解决你的问题,请参考以下文章

澄清 node.js + promises 片段

初识 Node.js 丨path 路径模块

Node.js全栈开发专业培训课程(价值3500元)

vscode代码片段建议bug

从Node.js Stream写入多个文件

我使用vscode写node.js代码,出现如下问题,请问如何处理?