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进行编码,没有BOM\DOM

读写文件

//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

    • 没有DOM\BOM
  • 核心模块

    在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相关推荐

  1. LeetCode19. Remove Nth Node From End of List 删除链表中的倒数第n个位置的元素

    前言 本文是LeetCode19. Remove Nth Node From End of List解法,这个题目需要删除链表中的倒数第n个位置的元素 代码 # -*- coding: utf-8 - ...

  2. Node.js 简单入门

    目录 一. 什么是Nodejs 二. Nodejs组成图(对比jdk) 三. Nodejs的安装 四. 第一个Nodejs程序 五. Node实现请求响应 六. Node操作MYSQL数据库 1. 安 ...

  3. CentOS7的node.js安装

    一.方式1:yum安装 这里我们指定安装8.x以上的版本 curl --silent --location https://rpm.nodesource.com/setup_8.x | sudo ba ...

  4. Node搭建多人聊天室

    博客初期准备使用的通讯,后被荒废. 使用的是nodejs-websocket,未使用socket.io 用来玩玩的东西,了解下通讯协议. 演示地址:socket.amayaliu.cn git地址:h ...

  5. node.js(四)小结

    用之前的内容写一个简单的注册登录 const http = require('http') const urlLib = require('url') const fs = require('fs') ...

  6. node.js(node.js+mongoose小案例)_实现简单的注册登录退出

    一.前言 通过node.js基本知识对node.js基本知识的一个简单应用 1.注册 2.登录 3.退出 二.基本内容 1.项目结构搭建如图所示 2.这个小案列中用到了art-template子模板以 ...

  7. node、Mongo项目如何前后端分离提供接口给前端

    node接口编写,vue-cli代理接口方法  通常前端使用的MocK 数据的方法,去模拟假的数据,但是如果有node Mongodb 去写数据的话就不需要在去mock 数据了,具体的方法如下. 首先 ...

  8. linux安装语言总是waiting,node的serialport在arm的Linux安装血泪史之我太难了

    0.序 本人在arm的Linux系统上serialport耗时5天,现在想想都头皮发麻! 下面我简单说一下过程,由于error时没有截图留档,关于出现的error,我就用语言描述一下,要是有什么不理解 ...

  9. Virtual host / experienced an error on node rabbit@wohu-rabbit and may be inaccessible

    RabbitMQ 如下错误: Virtual host / experienced an error on node rabbit@wohu-rabbit and may be inaccessibl ...

最新文章

  1. 阻塞、非阻塞、多路复用、同步、异步、BIO、NIO、AIO 一锅端
  2. SpringBatch学习一个Demo项目
  3. ICLR2018论文投稿抢先看:Ian Goodfellow由衷赞赏的训练稳定方法SN-GANs
  4. k8s实战为aspnetcore.webapi微服务注入配置信息
  5. Java ObjectInputStream readUnsignedShort()方法(带示例)
  6. VisualSVN https 钩子失效 关闭服务器信任
  7. xmind可以画流程图吗_如何用xmind做流程图
  8. 如何让员工适应CRM客户管理系统
  9. 算法交易:华尔街怪兽的核武器
  10. 芯科技之AD7705介绍
  11. 事件图谱的构建、推理与应用
  12. xlua生成Wrap代码排除指定dll
  13. \U672a\U77e5\U9519\U8bef 字符还原
  14. Spring mvc 中使用 kaptcha 验证码
  15. wxtemple.class.php,ThinkPHP3.2.3实现推送微信模板消息
  16. VS2019 配色_庆祝湖人夺冠!詹姆斯支线球鞋Witness 5 湖人配色发售
  17. oracle无法打开12560
  18. 微博评论爬虫 | 情感分析 | 词云图展示
  19. dx12 龙书第二十一章学习笔记 -- 环境光遮蔽
  20. 一起设计一个Android倒计时组件

热门文章

  1. leetcode 11容纳最多水
  2. RabbitMQ实现RPC
  3. 【ffmpeg】基本使用方法总结
  4. Microduino中LM75温度传感器的使用
  5. 控件进阶 编辑学生的窗体
  6. 前端开发 使用html写一个博客 基本标签的体验 0226
  7. linux-路径的切换-文件的增删拷-目录的增删拷
  8. linux-文件管理-不完整版
  9. Java-使用反射获取类型信息
  10. java运行环境jdk的安装和环境变量的配置