let http=require("http"); //引入核心http模块 let fs=require("fs"); let mime={ '.js':'application/javascript', '.css':'text/css' } //创建一个函数,req代表客户端,res代表服务器可写流 let listener=(req,res)=>{ //res是可写流,有write和end if(req.url==="/"){ //…
1.安装express模块 在命令行输入 npm install body-parser --save npm install express --save 2.创建app.js文件 /*应用程序入口文件*/ /*加载express模块*/ var express = require('express'); /*创建app应用*/ var app = express(); /*首页*/ app.get('/',function (req,res,next) { res.send("<h1&…
1.net模块基本API 要使用Node.js的net模块实现一个命令行聊天室,就必须先了解NET模块的API使用.NET模块API分为两大类:Server和Socket类.工厂方法. Server类如下图所示: net.Server类可以用来创建一个TCP或本地服务器,继承了EventEmitter. Socket类如下: net.Socket类一般用创建一个socket客户端或者是net.Server connection事件的参数. 工厂方法如下: 以上三个图展示了API的使用,其实NET…
首先下载express模块,命令行输入 npm install express 1.node.js中express模块创建服务端 在js代码同文件位置新建一个文件夹(www_root),里面存放网页文件等,就可以在浏览器中访问了 var express = require("express"); var path = require("path"); var app = express(); //目录 (当前目录下的www_root目录) app.use(expre…
node.js中net模块创建服务器和客户端 1.node.js中net模块创建服务器(net.createServer) // 将net模块 引入进来 var net = require("net"); // 创建一个net.Server用来监听,当连接进来的时候,就会调用我们的函数 // client_sock,就是我们的与客户端通讯建立连接配对的socket // client_sock 就是与客户端通讯的net.Socket var server = net.createSer…
CommonJS规范      早在Netscape诞生不久后,JavaScript就一直在探索本地编程的路,Rhino是其代表产物.无奈那时服务端JavaScript走的路均是参考众多服务器端语言来实现的,在这样的背景之下,一没有特色,二没有实用价值.但是随着JavaScript在前端的应用越来越广泛,以及服务端JavaScript的推动,JavaScript现有的规范十分薄弱,不利于JavaScript大规模的应用.那些以JavaScript为宿主语言的环境中,只有本身的基础原生对象和类型,…
前言: 因为以前学习Node.js并没有真正意义上的去学习它,而是粗略的学习了npm的常用命令和Node.js一些模块化的语法,因此昨天花了一天的时间看了<Node.js开发指南>一书.通过这本书倒是让我对Node.js的认识更为全面,但由于这本书出版时间过早,有些API已经发生了变化或已经被废弃,而对于学习Node.js来说,核心部分又是最为重要的一环,因此我配合官方文档对这本书的第四章-Node.js核心进行了总结与梳理,由于水平有限,如有疏漏与错误,请指正. 正文 核心模块是Node.j…
今天总结了下Node.js的Formidable模块的使用,下面做一些简要的说明. 1)     创建Formidable.IncomingForm对象 var form = new formidable.IncomingForm() 2)     form.encoding = 'utf-8' 设置表单域的编码 3)     form.uploadDir = "/my/dir"; 设置上传文件存放的文件夹,默认为系统的临时文件夹,可以使用fs.rename()来改变上传文件的存放位置…
net模块提供了一个异步网络包装器,用于TCP网络编程,它包含了创建服务器和客户端的方法 创建TCP服务器 net.createServer方法 创建客户端去连接服务器 net.connect方法 简易聊天室服务端 chatServer.js var net = require('net'); // 创建TCP服务器 var server = net.createServer(); // 存储所有客户端socket var sockets = []; //接收客户端连接请求 server.on(…
首先下载websocket模块,命令行输入 npm install ws 1.node.js中ws模块创建服务端 // 加载node上websocket模块 ws; var ws = require("ws"); // 启动基于websocket的服务器,监听我们的客户端接入进来. var server = new ws.Server({ host: "127.0.0.1", port: 6080, }); // 监听接入进来的客户端事件 function webs…
node.js的http模块的基础 学到的东西 其中客户端:我们在node.js中如果要请求服务端中的js或者其他脚本的话要使用http.request()方法他会返回http.ClientRequest这个对象的实例.而这个对象中的第二个参数是一个函数这个函数中的参数为http.ClientReponse这个对象的实例(也就是要把服务器返回的内容回显出来的一个操作) 点击(此处)折叠或打开 http.request(options,function(**res**){ res.setEncod…
在一些系统中,我们希望给用户提供插入自定义逻辑的能力,除了 RPC 和 REST 之外,运行客户提供的代码也是比较常用的方法,好处是可以极大地减少在网络上的耗时.JavaScript 是一种非常流行而且容易上手的语言,因此,让用户用 JavaScript 来写自定义逻辑是一个不错的选择.下面我们介绍 Node.js 提供的 vm 模块以及分析用它来运行不信任代码可能遇到的问题. vm 模块 vm 模块是 Node.js 内置的核心模块,它能让我们编译 JavaScript 代码和在指定的环境中运…
1.Node.js是什么? (1) Nodejs是为了开发高性能的服务器而诞生的一种技术 (2) 简单的说 Node.js 就是运行在服务端的 JavaScript,基于V8进行运行 (3) Node.js 使用了一个事件驱动.非阻塞式 I/O 的模型,使其轻量又高效. 2.Node.js的File模块 1.引入模块 var fs = require("fs"); 2.操作文件夹 2.1创建文件夹 //创建文件夹—fs.mkdir fs.mkdir(path[, options], c…
模块可能是一个文件,也可能是包含一个或多个文件的目录.如果模块是个目录,node.js通常会在这个目录下找一个叫index.js的文件作为模块的入口. 典型的模块是一个包含exports对象属性定义的文件,这些属性可以是任意类型的数据,比如字符串.对象和函数. 创建一个模块 //person.js var name = 'lbs'; var age = 10; function sayName(){ console.log( name ); } function sayAge(){ consol…
  之前用node.js写的订餐系统,很容易挂掉,一直也没想去解决它.今天看了一下,试了试,原因是在连接数据库的时候没有对error事件进行处理,导致程序一直挂在那里,需要重启服务才能正常使用.   没有使用缓存,直接都是操作数据存,所以导致一个页面数据库请求比较多.如果按住f5不动,操作太快,查询还没来得及响应,connect就被断开了,触发其error事件.但没有对它进行处理,导致程序直接挂在那里不动了   在getConnection函数中添加了对error事件的监听,能避免掉这个问题  …
有时候我们在windows上会保存一些中文文字信息文件,然而由于编码集的差异,这文件在linux上显示为乱码,其中一种解决方法是node.js的iconv模块 var fs = require('fs'); var readstream = fs.createReadStream('./新建文本文档.txt'); var str=''; var iconv = require('iconv-lite'); ; readstream.on('data',function (chunk) { str…
用Node.js创建自签名的HTTPS服务器 创建自己的CA机构 创建服务器端证书 创建客户端证书 将证书打包 创建自己的CA机构 为CA生成私钥 openssl genrsa -out ca-key.pem -des 1024 通过CA私钥生成CSR openssl req -new -key ca-key.pem -out ca-csr.pem 通过CSR文件和私钥生成CA证书 openssl x509 -req -in ca-csr.pem -signkey ca-key.pem -out…
1.node.js的request模块 http://www.cnblogs.com/meteoric_cry/archive/2012/08/18/2645530.html…
https://cnodejs.org/topic/54745ac22804a0997d38b32d  用Node.js创建自签名的HTTPS服务器  发布于 4 年前  作者 eeandrew  689290 次浏览  最后一次编辑是 2 年前  来自 分享 用Node.js创建自签名的HTTPS服务器 创建自己的CA机构 创建服务器端证书 创建客户端证书 将证书打包 创建自己的CA机构 为CA生成私钥 openssl genrsa -out ca-key.pem -des 1024 通过CA…
.net core 3.0 网站发布到centos后,绑定ssl证书,一个服务器绑一个证书,一个服务器绑多个证书 开始之前:对于windows服务器不存在这个问题,在iis中绑定证书是非常简单的一件事,不是本篇博客讨论的范围,绑定多个证书一样 3.0中指定url的方式可以通过在配置文件中加urls:"http://*:5000"这种方式来指定 发布到centos的.net core网站我是用 Kestrel托管的.这里也只针对这一种情况进行描述 1,在program.cs中Create…
全局对象 global 是全局变量的宿主 全局变量 在最外层定义的 全局对象的属性 隐士定义的变量(未定义直接赋值的变量) 当定义一个全局变量时 这个变量同时也会成为全局对象的属性 反之亦然 注意: Node.js中你不可能在最外层定义变量 因为所有用户代码都是属于当前模块的 而模块本身不是最外层上下文 process process.argv 是命令行参数数组 第一个元素是node 第二个元素是脚本文件名称 第三个开始是每个元素的运行参数 例子 //argv.js console.log(pr…
首先下载node.js模块.终端执行命令 npm i node -g 引入http核心模块 const http =require('http') 引入文件系统模块 const fs =require('fs') 引入文件绝对路径模块 const path =require('path') 创建服务器对象 const server =http.createServer() 为server服务器对象绑定处理函数 server.on('request',(req,res)=>{ 定义请求地址 let…
通过node中的http模块可以创建编写服务器 引入 const http = require('http') http举例使用: const http = require('http') //引入 const server = http.createServer() //创建web服务器 // 服务器可以提供的服务:对数据的服务 // 1.发请求 // 2.接收请求 // 3.处理请求 // 4.发送响应 server.on('request', () => { console.log('收到…
全局对象 javascript的全局对象是window,他及其所有属性都可以在程序的任何地方访问.即全局变量. 而在node中全局对象是global,所有全局变量都是global对象的属性,包括其本身. global最根本的作用是作为全局变量的宿主. 全局变量应该满足的条件: 在最外层定义的变量 全局对象的属性 隐式定义的变量(未定义直接复制的变量) 在node里不可能在最外层定义变量,因为所有的用户代码都属于当前模块的,而模块本身不是最外层上下文. process process是一个全局变量…
1.全局对象2.常用工具3.事件机制4.文件系统访问5.HTTP服务与客户端 一.全局对象(Global Object), 与window对象一样 process ==> 全局变量, 描述当前Node.js进程状态的对象, 提供了一个操作系统的简单接口 1.process.argv ==> 命令行参数数组, 第一个元素是node, 第二个元素是脚本文件名, 第三个元素开始每个元素是一个运行参数2.process.stdout ==> 标准输出流,通常我们使用的 console.log()…
参考:https://www.runoob.com/nodejs/nodejs-fs.html 异步I/O 1,文件操作 2,网络操作 在浏览器中也存在异步操作 1,定时任务 2,事件处理 3,Ajax回调处理 js的运行是单线程的,引入事件队列机制,进入事件队列的任务主要分两种: Node.js中异步执行的任务:1,文件读写操作(文件I/O) 2,网络的请求相应处理(网络I/O) Node.js中的事件模型与浏览器中的事件模型类型:单线程+事件队列,js的运行是单线程的,Node.js的环境是…
Node.js标准库提供了http模块,其中封装了一个高效的HTTP服务器和一个简易的HTTP客户端. http.Server是一个基于事件的HTTP服务器,它的核心由C++编写,兼顾高性能和简易性 http.request是一个HTTP客户端工具,用于向HTTP服务器发起请求. (1)先来说说http.Server服务器部分. http.Server是继承于EventEmitter对象的,它有三个事件:request,connection,close. 这里面涉及到两个实例:http.Serv…
核心模块 Node为Javascript提供了很多服务器级别的API,绝大多数都被包装到了一个具名的核心模块中,例如文件操作的fs核心模块,http服务构建的http模块等,核心模块的使用必须通过require方法加载 const path = require('path') fs-文件系统 http os-操作系统 path-路径 用户自定义模块 在浏览器中如果需要执行多个js文件,只需要多个script标签引入即可.在node中,每次运行命令行只支持一个文件,如果需要引入多个文件必须依靠re…
Nodejs的DNS模块包涵有关DNS查询和操作的方法,下面介绍该模块的基本用法以及实现一个DNS查询小工具. 1.获取DNS服务器地址 使用getServers方法,该方法返回一个IP地址组成的数组,如下所示: const dns = require('dns'); const servers = dns.getServers(); console.log(servers); 返回结果为: [ '114.114.114.114', '8.8.8.8', 'fec0:0:0:ffff::1',…
基本模块之fs 异步读文件 异步读取一个文本文件的代码如下: 'use strict'; var fs = require('fs'); fs.readFile('sample.txt', 'utf-8', function (err, data) { if (err) { console.log(err); } else { console.log(data); } }); 异步读取时,传入的回调函数接收两个参数,当正常读取时,err参数为null,data参数为读取到的string.当读取发…