001/Node.js(Mooc)

常用网址:

Node.js菜鸟教程:http://www.runoob.com/nodejs/nodejs-tutorial.html
nodejs.org  //Node.js官网

npmjs.com //

github.com //node.js

stackoverflow.com  //技术问答社区

一。Node.js基础知识

node.js用C++语言编写。

简单的说 Node.js 就是运行在服务端的 JavaScript。

Node.js 是一个基于Chrome JavaScript 运行时建立的一个平台。

Node.js是一个事件驱动I/O服务端JavaScript环境,基于Google的V8引擎,V8引擎执行Javascript的速度非常快,性能非常好。

提到JS会想到浏览器【1】交互组件  【2】异步请求

依靠浏览器民javascript引擎解析页面js代码。

Node.js

【1】。可以解析js代码(没有浏览器安全级的限制)

【2】。提供系统级别的API(【1】文件读写 【2】进程的管理 【3】网络通信)

为什么要学习node.js

1.它很火  2。它很强

二。Node.js课程介绍

1。安装node.js

【1】。node.js的版本

【2】windows/linux系统安装node.js

安装较麻烦。需要先准备好环境。

参考视频:https://www.imooc.com/video/6692

【3】Mac安装node.js //查看是否已成功安装

参考视频:https://www.imooc.com/video/6693

可以借助brew安装。brew install node

命令行输入: n 0.10.22 可以下载固定版本。

命令行输入:n,按上下键即可切换node的版本。

查看是否已安装过node.js //xcode-select -p

上述有文件目录则代表已安装,否则未安装。

Mac安装可参见:http://www.cnblogs.com/kaixinyufeng/p/9031662.html

2。简单实例:

参见:http://www.runoob.com/nodejs/nodejs-http-server.html

开发工具:VSCode

环境准备;node.js  / npm

项目架构:创建文件夹(NODEJS)->创建子文件夹(httpRequest)->创建js文件-》填充http请求内容。

命令行进入httpRequest文件夹目录下。node httpServer.js启动node.js服务端。

浏览器地址栏访问:http://127.0.0.1:8888/

显示结果:

nodejs服务器代码:

 1 /**
 2  * node.js组成部分:
 3  * step1:引入require模块:可用require指令来载入Node.js模块
 4  * Step2:创建服务器:服务器可以监听客户端请求,类似于Apache/Nginx等http服务器
 5  * Step3:接收请求与响应请求:服务器很容易创建,客户端可以使用浏览器或终端发送http请求,服务器接收请求数据后返回响应数据
 6  */
 7 var http = require(‘http‘);//node.js自带的http模块,并且把它赋值给http变量
 8
 9 //http模块提供函数createServer,该函数会返回一个对象,这个对象有一个叫做listen的方法,指定这个http服务器监听的端口号。
10 http.createServer(function (request, response) { //回调函数(request/response)
11
12     // 发送 HTTP 头部
13     // HTTP 状态值: 200 : OK
14     // 内容类型: text/plain
15     response.writeHead(200, {‘Content-Type‘: ‘text/plain‘});
16
17     // 发送响应数据 "Hello nodeJs"
18     response.end(‘Hello nodeJs\n‘);
19 }).listen(8888);
20
21 // 终端打印如下信息
22 console.log(‘Server running at http://127.0.0.1:8888/‘);

上述代码可以改写为:

 1 //示例2:
 2 var server =http.createServer(function (request, response) { //回调函数(request/response)
 3
 4     // 发送 HTTP 头部
 5     // HTTP 状态值: 200 : OK
 6     // 内容类型: text/plain
 7     response.writeHead(200, {‘Content-Type‘: ‘text/plain‘});
 8
 9     // 发送响应数据 "Hello World"
10     response.end(‘Hello World\n‘);
11 });
12
13 server.listen(9999);
14
15 // 终端打印如下信息
16 console.log(‘Server running at http://127.0.0.1:9999/‘);

当终端启动node.js服务时,显示:

地址栏访问:http://127.0.0.1:9999/ 显示结果:Hello World

3。控制台简单应用

【1】。打开chrome的控制台,可以直接输入要执行的命令。回车即可显示结果。

控制台可直接输入window/document查看其属性

【2】。命令行终端:输入node进入node.js环境,可直接输入要执行的命令。也可以打印结果。

4。node.js的模块与commonjs规范

【1】。模块与包管理工具

【2】Commonjs规范

【3】。规范与实现互为促进

【4】。模块分类

说明:模块与文件间是一一对应的。

根据类型,引入模块可以是

(1)。文件路径引入

(2)。模块名引用(引入非核心模块,模块名会引入到对应的路径中)

非核心模块包括:npm install  / 同事创建的本地模块

【5】。模块的流程

示例:当前有一个学校(school),班级(class),班级有教师(teacher)和学生(student),

则学校/班级/教师/学生分别为三个不同的模块。班级要引入教师/学生模块。学校要引入班级模块

Step1:创建包school

Step2:创建学生student.js

Step3:创建教师teacher.js

Step4:创建班级class.js,并引入teacher.js & student.js

Step5:创建一个启动入口。index.js,引入班级模块,并调用add方法添教师 & 学生

Step6:控制台启动node服务(首选要进入到school文件夹下面。输入命令node index.js)

显示结果:

现将school也对外暴露。则

5。node.js API使用

node.js核心模块:http/url/querystring模块

【1】。URL网址解析

视频:https://www.imooc.com/video/6710

URL文档目录:https://nodejs.org/dist/latest-v8.x/docs/api/url.html

【2】QueryString参数处理利器(序列化/反序列化/转义/反转义)

https://www.imooc.com/video/6711    //视频地址

https://nodejs.org/dist/latest-v8.x/docs/api/querystring.html  //Doc地址

原文地址:https://www.cnblogs.com/kaixinyufeng/p/9218119.html

时间: 2024-10-11 23:18:04

001/Node.js(Mooc)的相关文章

Node.js/Python爬取网上漫画

某个周日晚上偶然发现了<火星异种>这部漫画,便在网上在线看了起来.在看的过程中图片加载很慢,而且有时候还不小心点到广告,大大延缓了我看的进度.后来想到能不能把先把漫画全部抓取到本地再去看. 经过一段时间的研究还是有所收获:成功在风之动漫网站上抓取了<火星异种>,以及在腾讯动漫上抓取了<海贼王>.一般来说,抓取网页内容有两种形式:一是静态资源,即网站内容在第一时间就全部呈现在网页上:另一种是动态资源,即网站内容随后通过用户交互,如:操作滚动条等,异步的更新.对于第一种形式

Node.js 打造实时多人游戏框架

在 Node.js 如火如荼发展的今天,我们已经可以用它来做各种各样的事情.前段时间UP主参加了极客松活动,在这次活动中我们意在做出一款让“低头族”能够更多交流的游戏,核心功能便是 Lan Party 概念的实时多人互动.极客松比赛只有短得可怜的36个小时,要求一切都敏捷迅速.在这样的前提下初期的准备显得有些“水到渠成”.跨平台应用的 solution 我们选择了node-webkit,它足够简单且符合我们的要求. 按照需求,我们的开发可以按照模块分开进行.本文具体讲述了开发 Spaceroom

轻松学 Node.js

一.事件NodeJs是基于事件驱动,拥有一个核心库:events,使用的时候需要引入:var events = require('events'); 杂货:一.util 是一个Node.js 核心模块,提供常用函数的集合,用于弥补核心JavaScript 的功能 过于精简的不足.var util = require('util');1.util.inheritsutil.inherits(constructor, superConstructor) 是一个实现对象间原型继承的函数.JavaScr

node.js的安装及配置

一.安装 直接在浏览器搜索node.js,在官网上下载(一般旧版的更加稳定,比如下载4.4.7版本) 点击DOWNLOADS 往下翻,点击Previous Release Windows下载msi(64位/32位) 根据提示一步步安装,安装之后的文件夹如下: 在cmd命令行下输入node -v,如果出现如下,说明安装成功: 二.关于配置 在安装路径下新建两个文件夹: 创建完两个空文件夹之后,打开cmd命令窗口,输入 npm config set prefix "D:\Program Files

Node.js: Extend and Maintain Applications + large scale

https://blog.risingstack.com/node-js-mysql-example-handling-hundred-gigabytes-of-data/ My secondary goal with this article is to help you decide if Node.js + MySQL is a good fit for your needs, and to provide help with implementing such a solution. h

1.node.js windows环境搭建

作为服务端运行javascript的平台的NodeJs,把前台javascript移到了服务器端,Google V8引擎使其运行效率非常高,它可以异步,无任何阻塞运行程序.nodejs包含http服务器,可以为我们实现 web系统设计,客户端javascript编译器,等一系列的功能. 工具/原料 windows系统电脑 ,电脑可以上网 方法/步骤 下载windows平台nodejs环境安装包,百度一下nodejs官网,找到DOWNLOADS点击,找到Windows Installer 如果为6

在Node.js中使用RabbitMQ系列二 任务队列

在上一篇文章在Node.js中使用RabbitMQ系列一 Hello world我有使用一个任务队列,不过当时的场景是将消息发送给一个消费者,本篇文章我将讨论有多个消费者的场景. 其实,任务队列最核心解决的问题是避免立即处理那些耗时的任务,也就是避免请求-响应的这种同步模式.取而代之的是我们通过调度算法,让这些耗时的任务之后再执行,也就是采用异步的模式.我们需要将一条消息封装成一个任务,并且将它添加到任务队列里面.后台会运行多个工作进程(worker process),通过调度算法,将队列里的任

node.js搭建代理服务器请求数据

1.引入node.js中的模块 1 var http = require("http"); 2 var url = require("url"); 3 var qs = require("querystring"); 2.创建服务器 //用node中的http创建服务器 并传入两个形参 http.createServer(function(req , res) { //设置请求头 允许所有域名访问 解决跨域 res.setHeader("

Node.JS 文件读写,把Sheet图集转换为龙骨动画图集

Node.JS 文件读写,把Sheet图集数据转换为龙骨动画图集数据 var fs = require("fs") var readline = require("readline"); var rl = readline.createInterface({ input:process.stdin, output:process.stdout }); var path = undefined; var dbName = undefined; rl.question(