1-1 node 基础】的更多相关文章

今天继续更新node基础篇,今天主要内容是模块.路由和全局变量. 模块这个概念,在很多语言中都有,现在模块开发已经成为了一种潮流,它能够帮助我们节省很多的时间,当然咱们的node自然也不能缺少,看下例子: 首先新建一个module.js 内容如下: function Hello() { let name; this.sayname = (name)=>{ console.log(name); } }; function hello(obj){ this.sayhello = () =>{ if…
文件操作频率最高的就是读跟写.nodejs的文件的读取API在<node基础-文件系统-读取文件>里已经简单介绍过,本文就简单介绍下nodejs的文件写API. nodejs的文件操作均提供了同步.异步两种方式,写操作也是同样的,常用的两个接口为fs.writeFile(异步).fs.writeFileSync(同步),下面就来看看他们的使用以及区别. fs.writeFile(filename, data, [options], callback) 先来看下API说明 /** * 往文件里异…
文件操作 相关模块 Node内核提供了很多与文件操作相关的模块,每个模块都提供了一些最基本的操作API,在NPM中也有社区提供的功能包 fs: 基础的文件操作 API path: 提供和路径相关的操作 API readline: 用于读取大文本文件,一行一行读 fs-extra(第三方): https://www.npmjs.com/package/fs-extra 同步或异步调用 fs模块对文件的几乎所有操作都有同步和异步两种形式 例如:readFile() 和 readFileSync()…
1.node vs php 优点 性能高(机制问题) 开发效率高(省了不少优化的事) 应用范围广(可以开发桌面系统,electron框架) 缺点 新,人少 中间件少 IDE不完善 2.node的劣势和解决方案 默认不支持多核,使用cluster可以解决 默认不支持服务器集群,node-http-proxy可以解决 使用nginx做负载均衡,静态的由nginx处理,动态由node处理 forever或node-cluster实现灾难恢复 3.框架选择 比较热门的框架有:express,koa,Ha…
写在前面 Nodejs学习手册,基础总结之DNS模块.对从事web开发的同学来说,DNS解析再熟悉不过,在nodejs中也有一个模块可以完成dns解析的工作,使用非常简单.直接进入主题. 域名解析:dns.lookup() 比如我们要查询域名 www.qq.com 对应的ip,可以通过 dns.lookup() . var dns = require('dns'); dns.lookup('www.qq.com', function(err, address, family){ if(err)…
全局对象: global:永远使用var 定义变量以避免引入全局变量; process:所有全局执行上下文的内容都在process对象中: 模块和包: 模块:一个Node.js 文件就是一个模块,这个文件可能是 JavaScript 代码.JSON 或者编译过的 C/C++ 扩展.Node.js 提供了 exports 和 require 两个对象,其中 exports 是模块公开的接口,require 用于从外部获取一个模块的接口,即所获取模块的 exports 对象. 包:包是在模块基础上更…
Vue.js 是一套构建用户界面的渐进式框架.他自身不是一个全能框架——只聚焦于视图层.因此它非常容易学习,非常容易与其它库或已有项目整合.在与相关工具和支持库一起使用时,Vue.js 也能完美地驱动复杂的单页应用. 在配置环境之前呢,有些基础的东西还是要和大家普及一下的.如果你已经对Vue.js有所了解,那请点击 配置步骤  跳转到配置环境的阅读,否则,请耐心看完看完. 首先,介绍一下Vue.js的概念,他是干啥的呢?一定要配置vue的运行环境吗? 如上述Vue.js不是个全能的框架,因为他的…
什么是Nodejs 简单的说 Node.js 就是运行在服务端的 JavaScrip(编写高性能网络服务器的JavaScript工具包(用js开发服务端程序))t. JS是脚本语言,脚本语言都需要一个解析器才能运行.对于写在HTML页面里的JS,浏览器充当了解析器的角色.而对于需要独立运行的JS,NodeJS就是一个解析器. Node.js是一个事件驱动I/O服务端JavaScript环境,基于Google的V8引擎,V8引擎执行Javascript的速度非常快,性能非常好. 每一种解析器都是一…
一.前言                                                                                                                                                                                                                          Node.js 是一个基于 Chrome V8 引擎的…
Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境,是一个可以让 JavaScript 运行在服务器端的平台 Node.js 使用了一个事件驱动.非阻塞式 I/O 的模型,使其轻量又高效.Node.js 的包管理器 npm,是全球最大的开源库生态系统. 采用了单线程.异步式I/O.事件驱动式的程序设计模型 I/O(input/output),即输入/输出端口.每个设备都会有一个专用的I/O地址,用来处理自己的输入输出信息. ctrl + c - 退出当前终端.…
<一> HTTP基础createServer()相关事件介绍 1. 创建HTTP服务器 server = http.createServer([requestListener]) // 下面的介绍都会使用server创建的服务器对象 // requestListener为一个回调函数 => function(request,response){ ... } 参数介绍: request客户端向服务器发送请求,response服务器响应客户端的请求,发送内容给客户端. 如果不使用create…
核心模块 核心模块的意义 如果只是在服务器运行JavaScript代码,意义并不大,因为无法实现任何功能(读写文件,访问网络). Node 的用处在于它本身还提供的一系列功能模块,用于与操作系统互动. 这些核心的功能模块在 Node 中内置. 内置如下模块: path:处理文件路径. fs:操作文件系统. child_process:新建子进程. util:提供一系列实用小工具. http:提供HTTP服务器功能. url:用于解析URL. querystring:解析URL中的查询字符串. c…
Node简介 客户端的JavaScript是怎样的 什么是 JavaScript? 脚本语言 运行在浏览器中 一般用来做客户端页面的交互(Interactive) JavaScript 的运行环境? 是不是运行在浏览器呢? 不够严谨 运行在浏览器内核中的 JS 引擎(engine) 浏览器中的 JavaScript 可以做什么? 操作DOM(对DOM的增删改.注册事件) AJAX/跨域 BOM(页面跳转.历史记录.console.log().alert()) ECMAScript 浏览器中的 J…
1.显示动态网页 又到了激动人心的时刻,马上就可以使用node创建动态网站了,其原理为: 在HTML模板中使用占位符 根据请求路径,确定需要返回的页面 根据请求参数来确定静态模板中占位符的值 使用正则匹配将占位符匹配为真实值 再res.write()到浏览器的 代码如下: // server.js var http = require("http"); var url = require('url'); var router = require('./router'); http.cr…
1.什么是nodejs?   简单的说 Node.js 就是运行在服务端的 JavaScript. Node.js 是一个基于Chrome JavaScript 运行时建立的一个平台. Node.js是一个事件驱动I/O服务端JavaScript环境,基于Google的V8引擎,V8引擎执行Javascript的速度非常快,性能非常好. 2.为什么出现,解决什么问题? 传统的服务器如php或者java,每个web http请求会产生一个线程,假设每个线程需要2m的内存消耗,那么一个8g的服务器也…
1.流程控制 因为在node中大部分的api都是异步的,比如说读取文件,如果采用回调函数的形式,很容易造成地狱回调,代码非常不容易进行维护. 因此,为了解决这个问题,有大神写了async这个中间件.极大的方便了开发. 这里主要介绍三种流程:窜行无关联,并行无关联,窜行有关联 实例代码如下: /** * Created by gaoxiong on 2017/1/6. */ var async = require('async'); function exec(){ //窜行无关联 async.s…
1.接收参数 在Node中接受GET/POST请求的参数不像PHP那样,在PHP中直接有全局变量$_GET,$_POST来接受url,或者请求体重的参数. 在node中接受GET参数使用url.parse(req.url, true).query可以获取请求参数,使用queryString.parse(data)来从请求体中来获取字段. // server.js var http = require("http"); var url = require('url'); var rout…
1.处理异常 当发生异常时,如果不作处理,那么服务器会奔溃.由于node的异步调用的特性,所以不但要考虑主程序的异常,还有处理异步调用的异常. 代码如下: /** * server.js */ var http = require('http'); var url = require('url'); var router = require('./router'); var exception = require('./exception') http.createServer(function…
1.同时输出文字与图片 在前几个小课程中,我会学会了 从服务器中读取文字字符,并且向浏览器中输出 从服务器中读取图片文件,并且向浏览器中输出 这节课中,我学会了同时向浏览器输出文字,图片.对此,我感到欣喜若狂.你无法想象对我来讲,在没有任何node的环境下,摸索这些有多么困难,因为我身处一个小公司,实在不能再小了,只有我一个前端.不多说废话了,反正今天时非常值得纪念的一天. 代码如下: //server.js var http = require('http'); var url = requi…
1.Node异步编程 Node.js 异步编程的直接体现就是回调. 异步编程依托于回调来实现,但不能说使用了回调后程序就异步化了. 回调函数在完成任务后就会被调用,Node 使用了大量的回调函数,Node 所有 API 都支持回调函数. 例如,我们可以一边读取文件,一边执行其他命令,在文件读取完成后,我们将文件内容作为回调函数的参数返回.这样在执行代码时就没有阻塞或等待文件 I/O 操作.这就大大提高了 Node.js 的性能,可以处理大量的并发请求. //server.js var http…
1.基础实例 //server.js var http = require("http"); var url = require("url"); var router = require("./router"); http.createServer(function(req, res){ res.writeHead(200, {'Content-Type':'text/html;charset=utf-8'}); if(req.url!==&qu…
1.模块调用 node遵循AMD规范 //server.js var http = require("http"); var Teacher = require("./teacher"); http.createServer(function(request, response){ response.writeHead(200, {"Content-Type":"text/html; charset=uf-8"}); if (…
为了复习一下nodeJS, 而且socketIO这东西听起来就好高端有木有, 而且有人写过了open, 也可以作为自己的参考有木有, 点击下载源代码: express是4.x的版本, 跟以前的配置有些区别, 我才不管呢, 好用就好>﹏<; 按照正常的流程通过 node install 安装项目依赖, 项目的依赖如下; "dependencies": { "body-parser": "~1.8.4", "cookie-par…
非阻塞IO: node.js使用了事件轮询 setTimeout是非阻塞的: 对于像http,net等原生模块中IO部分也采用了事件轮询,其本质是: 当node接受到浏览器的http请求时,底层的TCP连接会分配一个文件描述符:然后,当客户端向服务器发送数据,node会收到该文件描述符上的通知,然后促发回调函数. 单线程: 当V8首次调用一个函数时,会创建一个调用堆栈:如果这个函数再调用其他函数,V8会把它添加到调用堆栈中:在单线程的环境下,当调用堆栈展开时,node就无法处理其他请求. 所以实…
npm  //Node.js Package Manager 查询版本号:npm --version/npm version 查询模块:npm search <name> 查看模块相关信息: npm view <name> 安装模块: mkdir project cd project npm install <name> / npm install -g <name> // mkdir project1 project2 // mkdir project &…
实际上,最最基础的方法,最最原始的方法是module.exports,至于exports,是为了方便书写才出来的,应该说,module.exports 包含exports,所工作的范围更加的广泛! module的用法:(可以暴露任何部位,任何形式的值) (后来坑之处)require()中的是文件名,而不是什么方法,所以,就简单理解了;引入的文件当中,导出了什么,就有什么方法, //此文件为modle.js //相当于类,类名和文件名相同最好! var modle = { var a = func…
Node.exe是一个基于 Chrome V8 引擎的 JavaScript 运行环境. Nodejs定义了一个构造函数 Module,所有的模块(Node中一个文件即一个模块)都是 Module 的实例.每个模块都隐式传入了构造函数中的如下属性: function Module(id, parent) { this.id = id; this.exports = {}; this.parent = parent; this.filename = null; this.loaded = fals…
最近工作一直很忙,没时间更新,谅解,这次准备更新一次node教程,本课堂将持续更新,每周坚持更新一到两章,希望对大家有一些小帮助吧: 一.首先什么是node? 1/Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境. 2/Node.js 使用了一个事件驱动.非阻塞式 I/O 的模型,使其轻量又高效. 3/Node.js 的包管理器 npm,是全球最大的开源库生态系统. node安装不介绍了,官网直接安装即可,傻瓜式的下一步 ,在这就不耽误时间了: 二.node…
Node 创建node应用 引入require模块   var http = require("http"); 创建服务器   http.createServer() 绑定端口: .listen() request, response 参数来接收和响应数据 至此完成了一个可以工作的服务器 REPL(交互式解释器) 表示一个电脑环境,类似window和Linux;可以进行运算,_用来获取上一次的结果: 常用命令: Ctrl + c 退出当前终端 Ctrl + c 两次 or  Ctrl…
前言 前面已经学习了很多跟Node相关的知识,譬如开发环境.CommonJs,那么从现在开始要正式学习node的基本模块了,开始node编程之旅了. path path 模块提供用于处理文件路径和目录路径的实用工具. 它可以使用以下方式访问: const path = require('path'); [path.normalize(path)] path.normalize() 方法规范化给定的 path,解析 '..' 和 '.' 片段. 11_path_normalize.js const…