Buffer类概述 一个用于更好的操作二进制数据的类 我们在操作文件或者网络数据的时候,其实操作的就是二进制数据流Node为我们提供了一个更加方便的去操作这种数据流的类 Buffer,他是一个全局的类,不需要引入后才能使用,可以直接使用 Buffer类的构造方法new Buffer(size)分配一个新的buffer大小是size的8位字节,参数size是一个Number类型的(类似数组的长度),一个长度表示1个字节创建一个Buffer对象,并为这个对象分配一个大小...
在《深入浅出nodejs》有这样一段(有部分增减):1、nodejs引入模块分四个步骤路径分析文件定位编译执行加入内存2、核心模块部分在node源代码的编译过程中就编译成了二级制文件,在node启动时就直接加载如内存,所以这部分模块引入时,前三步省略,直接加入。3、nodejs的模块加载和浏览器js加载一样都有缓存机制,不同的是,浏览器仅仅缓存文件,而nodejs缓存的是编译和执行后的对象(缓存内存)。基于以上三点:我们可以编写一个模...
对象与文档相对应创建项目目录,用root进入# mkdir /home/test/part9/直接# npm install mongoose,报错如下../node_modules/nan/nan.h:316:47: error: ‘REPLACE_INVALID_UTF8’ is not a member of ‘v8::String’ static const unsigned kReplaceInvalidUtf8 = v8::String::REPLACE_INVALID_UTF8; ^make: *** [Release/obj.target/kerberos/lib/kerberos.o] Error 1make: Leav...
node.js模块在node.js开发中一个文件就可以认为是一个模块。一、node.js模块分类核心模块Code Module、内置模块、原生模块fshttppathurl...所有内置模块在安装node.js的时候就已经编译成二进制文件,可以直接加载运行(速读较快)部分内置模块,在node.exe这个进程启动的时候就已经默认加载了,所以可以直接使用。 文件模块按文件后缀来分如果加载时,没有指定后缀名,那么就按照如下顺序依次加载相应模块1.js2.json4.node(C/c++编...
如何升级nodejs版本首先安装n模块,输入npm install -g nn模块专门用来管理nodejs的版本。如果出现npm ERR! notsup Unsupported platform for n@2.1.8: wanted {"os":"!win32","arch":"any"} (current: {"os":"win32","arch":"x64"})这样错误信息,在命令后面加上 --force 重新运行原文:http://www.cnblogs.com/thinkingthigh/p/7657198.html
1.每一个js文件都是一个模块,需要暴露才能让其他js模块引入使用;因为每一个js文件都是一个闭包作用域,避免全局变量污染2.练习:写函数求和,写函数求平均数 3.模块标识内建模块(底层的c++),文件模块(自己写的),核心模块(node_modules目录下)4.exports和require怎么来的?exports和require是函数,我们暴露出的模块,Node都会给我们封装成函数,并且传入了五个参数我们的exports是函数的一个参数 5.exports,require,module,_filenam...
fs.write()fs.read(fd,buffer,offset,length[,position],callback(err,bytesWritten,buffer))接收6个参数。参数说明:fd 文件描述符,必须接收fs.open()方法中的回调函数返回的第二个参数。buffer 是存放 将被写入的数据,buffer尺寸的大小设置最好是8的倍数,效率较高。offset buffer写入的偏移量。length (integer)指定 写入文件中数据的字节数。position (integer) 指定 在写入文件内容的起始位置。callback 回调函数,参数如下...
今天总结了下Node.js的Formidable模块的使用,下面做一些简要的说明。1) 创建Formidable.IncomingForm对象 var form = new formidable.IncomingForm()2) form.encoding = ‘utf-8‘ 设置表单域的编码3) form.uploadDir = "/my/dir"; 设置上传文件存放的文件夹,默认为系统的临时文件夹,可以使用fs.rename()来改变上传文件的存放位置和文件名4) form.keepExtensions = false; 设置该属性为true可以使得上传的...
构建模块化路由const express = require('express') //创建路由对象 const home = express.Router(); //将路由和请求路径进行匹配 app.use('/home',home); //在home路由下继续创建路由 home.get('/index',()=>{///home/indexres.send('欢迎来到博客展示页面'); })基础页面//引入express框架 const express = require('express'); //创建网站服务器 const app = express(); //创建路由对象 const home = express.Router(); //为路由...
??Blog:《NodeJS模块研究 - zlib》??Github:https://github.com/dongyuanxin/blognodejs 的 zlib 模块提供了资源压缩功能。例如在 http 传输过程中常用的 gzip,能大幅度减少网络传输流量,提高速度。本文将从下面几个方面介绍 zlib 模块和相关知识点:文件压缩 / 解压HTTP 中的压缩/解压压缩算法:RLE压缩算法:哈夫曼树文件的压缩/解压以 gzip 压缩为例,压缩代码如下:const zlib = require("zlib"); const fs = require("fs"...
CommonJS规范 早在Netscape诞生不久后,JavaScript就一直在探索本地编程的路,Rhino是其代表产物。无奈那时服务端JavaScript走的路均是参考众多服务器端语言来实现的,在这样的背景之下,一没有特色,二没有实用价值。但是随着JavaScript在前端的应用越来越广泛,以及服务端JavaScript的推动,JavaScript现有的规范十分薄弱,不利于JavaScript大规模的应用。那些以JavaScript为宿主语言的环境中,只有本身的基础原生对象和类型...
URL模块:URL:统一资源定位符,偏重定位URI:统一资源标识符,偏重标识网站就是URL,是一个具体的符号说明了要通过哪一种协议来访问一个资源URI更抽象,是一个字符串格式规范 是一种概念上的定义事实上,URL是URI的子集在该模块中有三个方法url.parse(urlStr, [parseQueryString], [slashesDenoteHost])解析地址,解析成一个对象url.format(urlObj)将一个url对象格式化成url字符串url.resolve(from, to)也是用来解析的,把两个参数拼...
1.模块的引用示例 var math = require(‘math’);在common.js规范中,存在require()方法,这个方法接受模块标识,此引引入一个模块的api 到当前的上下文中。2.模块定义 在模块中,上下文提供require()方法来引入外部模块。对应引入的功能,上下文提供了exports对象用于到处当前模块的方法或者变量,并且它是唯一到处的出口,在模块中,还存在一个module对象,他代表模块自身,而exports是module的属性...
创建路由模块(route.js)function route(pathname){console.log("About to route a request for "+pathname);}exports.route = route;创建http服务模块(server.js)var http = require("http");var url = require("url");function start(route){ function onRequest(request,response){ var pathname = url.parse(request.url).pathname; if (pathname != "/favicon.ico") { console.log("Request for" + pathname + " received"...
js创建一个类然后在另一程序中实例化使用这个类1.创建一个User类//--------------User.js-------------- function User(id,name,age){ this.id=id; this.name=name; this.age=age; this.enter=function(){ console.log("进入图书馆"); }}module.exports = User;2.调用//----------------------n3_modalcall.js------------- var http = require(‘http‘); var User = require(‘./models/Us...