nodejs--(1)
来源:互联网 发布:led蓝光危害 知乎 编辑:程序博客网 时间:2024/06/07 01:36
Node.js 就是运行在服务端的 JavaScript;Node.js是一个事件驱动I/O服务端JavaScript环境,基于Google的V8引擎,V8引擎执行Javascript的速度非常快,性能非常好。
使用 Node.js 时,我们不仅仅 在实现一个应用,同时还实现了整个 HTTP 服务器。
让我们先了解下 Node.js 应用是由哪几部分组成的:
- 引入 required 模块:我们可以使用 require 指令来载入 Node.js 模块。
- 创建服务器:服务器可以监听客户端的请求,类似于 Apache 、Nginx 等 HTTP 服务器。 接收请求与响应请求
- 服务器很容易创建,客户端可以使用浏览器或终端发送 HTTP 请求,服务器接收请求后返回响应数据。
壳层(英语:Shell)在计算机科学中,是指“提供用户使用界面”的软件,通常指的是命令行界面的解析器。
本机默认IP HostName localhost 127.0.0.1 联网后公网分配IP来进行网络通信。
npm模块安装
有时候方便版本协调,安装指定版本npm install mysql@4.0.0mkdir FirstWeb #新建项目cd FirstWebnpm init #一系列项目信息npm install mysql #安装npm install express -g # 全局安装npm list express启动mysql,创建数据库create database blog;
语言转换
res.writeHead(200, {'Content-Type': 'text/plain; charset=utf-8'});
会正确使用当前系统的路径分隔符,Unix系统是”/”,Windows系统是”\”
node的安装分为全局模式和本地模式
一般情况下会以本地模式运行,包会被安装到和你的应用程序代码的本地node_modules目录下。
在全局模式下,Node包会被安装到Node的安装目录下的node_modules下。
npm常用命令
1、npm root:查看当前包的安装路径npm root -g:查看全局的包的安装路径
错误集锦
1. throw arguments[1]; // Unhandled ‘error’ event
^
Error: listen EADDRINUSE
我查过了,这个错误EADDRINUSE就是“error.address in use”,意思就是我们监听的端口已经被使用了,所以我们只要换一个监听的端口就行
回调函数
阻塞是按顺序执行的,而非阻塞是不需要按顺序的,所以如果需要处理回调函数的参数,我们就需要写在回调函数内事件
引入模块、创建对象、创建处理程序、绑定事件处理程序、触发事件buffer缓冲区
处理像TCP流或文件流时,必须使用到二进制数据。因此在 Node.js中,定义了一个 Buffer 类,该类用来创建一个专门存放二进制数据的缓存区。Buffer 库为 Node.js 带来了一种存储原始数据的方法,可以让 Node.js 处理二进制数据。Stream流
文件数据的读入和读出;链式流、管道流对文件的压缩和解压。创建模块
代码 require(‘./hello’) 引入了当前目录下的hello.js文件(./ 为当前目录,node.js默认后缀为js)。
Node.js 提供了exports 和 require 两个对象,其中 exports 是模块公开的接口,require 用于从外部获取一个模块的接口,即所获取模块的 exports 对象。
Node.js中自带了一个叫做”http”的模块,我们在我们的代码中请求它并把返回值赋给一个本地变量。路由
为路由提供请求的URL和其他需要的GET及POST参数,需要的所有数据都会包含在request对象中,该对象作为onRequest()回调函数的第一个参数传递。但是为了解析这些数据,我们需要额外的Node.JS模块,它们分别是url和querystring模块。
扩展一下服务器的start()函数,以便将路由函数作为参数传递过去全局对象
在浏览器 JavaScript 中,通常 window 是全局对象, 而 Node.js 中的全局对象是 global,所有全局变量(除了 global 本身以外)都是 global 对象的属性。until工具
Sub 仅仅继承了Base 在原型中定义的函数,而构造函数内部创造的 base 属 性和 sayHello 函数都没有被 Sub 继承。- 文件操作
fs模块 GET/POST请求
由于GET请求直接被嵌入在路径中,URL是完整的请求路径,包括了?后面的部分。node.js 中 url 模块中的 parse 函数提供了解析后面的内容作为GET请求的参数。web模块
目前最主流的三个Web服务器是Apache、Nginx、IIS。
Web服务器的基本功能就是提供Web信息浏览服务。它只需支持HTTP协议、HTML文档格式及URL,与客户端的网络浏览器配合。
web服务器:解析parse、读取响应、控制台输出
web客户端:请求、处理响应Express
Express 可以快速地搭建一个完整功能的网站。
Express 框架核心特性:
1,可以设置中间件来响应 HTTP 请求。
2,定义了路由表用于执行不同的 HTTP 请求动作。REST即表述性状态传递
基于 REST 架构的 Web Services 即是 RESTful,具有轻量级以及通过 HTTP 直接传输数据的特性,可以使用各种语言(比如 Java 程序、Perl、Ruby、Python、PHP 和 Javascript[包括 Ajax])实现客户端。
1.创建一个 json 数据资源文件
2.创建RESTful API
3.对信息列表的读取/增删/显示多进程
Node.js 是以单线程的模式运行的,但它使用的是事件驱动来处理并发,这样有助于我们在多核 cpu 的系统上创建多个子进程,从而提高性能。每个子进程总是带有三个流对象:child.stdin, child.stdout 和child.stderr。他们可能会共享父进程的 stdio 流,或者也可以是独立的被导流的流对象。
Node 提供了 child_process 模块来创建子进程mysql
把*.sql文件导入mysq,
先打开cmd再进入mysql的bin目录:cd D:\soft\wamp\bin\mysql\mysql5.0.51b\bin 回车mysql -u 用户名 -p 密码 回车source d:\abc.sql (指向你自己的目录)回车
- nodejs 1 nodejs 简介
- nodejs--(1)
- nodejs-1
- NodeJs开发入门1
- nodejs笔记1
- nodejs -> mysql - 1
- nodeJs语法1
- Nodejs系列-1
- nodejs+mysql 1
- NodeJS 学习笔记1
- Nodejs学习<1>
- nodejs学习1---基础知识
- nodejs-1 HelloWorld
- NodeJs【自学笔记】1
- nodejs学习笔记1
- nodejs(1)---mongodb
- [nodejs]mongoose学习1
- nodejs入门1-环境
- 20170626 少年的血还是热的吗?
- html标签之块级元素与行内元素
- 搭建微信小程序服务
- 利用POI导出excel
- 2017/6/26日总结
- nodejs--(1)
- servlet原理
- 作业6.26
- 2017.5.27测试 5. 扑克游戏
- CF821B-Okabe and Banana Trees
- Tablayout+viewpager
- HTML:js中Window对象的常用属性:screen对象
- 跟新数据库中某个字段的值,在某列后都加某个字符
- DataBase学习笔记 --- OLAP 与 OLTP区别