nodejs学习

Nodejs 学习(一)

戏子无情 提交于 2019-12-05 16:06:15
1, hello world console. log ( 'hello world' ); 这是在后台打印hello world, 没什么意义, 以为nodejs主要应用于web 服务端, 所以可以使用下面的代码在浏览器上显示hello world. var http = require ( 'http' ); http.createServer( function (request, response) { response.writeHead( 200 ,{ 'Content-type' : 'text/html' }) response.write( 'Hello World' ); console.log( 'hehe' ) response.end( '' ) }).listen( 80 ); console.log( 'Server is running at 127.0.1.1:80' ) 其中 var http=requre('http') 引入http模块,类似python 中import。http.createServer函数时用来创建一个HTTP服务器, 并将requestListener作为reqeust事件的 监听函数 。 语法为 http .createServer ( [requestListener] ) 接收参数: requestListener

用Nodejs完成自己的个人博客

我是研究僧i 提交于 2019-12-05 16:04:56
开始这个个人小项目已经有一段时间了,一直断断续续的,直到今天总算是初见雏形,所以就很想和大家分享一下实现的过程。首先这个的初衷就是学习nodejs,看了几天的书,自己就照着书上的代码来敲,可是由于自己安装的node是最新版,然而书比较旧,好多都不能正确运行,我想了解node的都知道它几乎每天都在更新,出现这样的情况也是必然的。所以想了下,还是在github上找个别人的项目拿来练练手,看一下项目是如何搭建的,经过仔细的琢磨总算是慢慢搭起来了。下来讲一下自己是如何实现的。 一. 项目所用到的技术 express框架: (1)可以设置中间件来响应 HTTP 请求; (2)定义路由表用于执行不同的 HTTP 请求动作; ejs模板 用过Java的jsp的就知道,这和jsp的作用完全相同,动态生成html元素。 mongodb数据库 这和熟悉的mysql数据库不同,mysql是关系型数据库,没一个表的每一项时一条记录,而mongodb是集合类型的,每个集合里存储的是对象,想象一下json,就明白mongodb里存储的数据类型。 mongoose数据库操作 这个是针对mongodb的数据库驱动,里面封装了对数据库的各种基本操作。 二. 项目目录 下面介绍下,每个目录都是干什么的: (1)node_modules:存放各种node插件和express框架; (2)schemas

nodejs 异步编程 教程(推荐)

…衆ロ難τιáo~ 提交于 2019-12-05 15:44:36
有异步I/O就需要异步编程。本课程将着重讲解在学习node.js中关于异步编程的一些问题,以及如何应对这些问题,帮助node.js初学者快速入门。 地址 http://www.hubwiz。com/course/543e1a4f032c7816c0d5dfa1 简介 1. 简介 2. 优势 3. 思维习惯 4. 异常捕获 5. 函数嵌套 6. 课程小结 函数式编程 1. 高阶函数 2. 现实应用 3. 偏函数 4. 编写偏函数 5. 课程小结 流程控制 1. 简介 2. series 3. waterfall 4. parallel 5. parallelLimit 6. whilst 7. doWhilst 8. until 9. doUntil 10. forever 11. compose 12. auto 13. queue 14. apply 15. iterator 16. 课程小结 转载于:https://www.cnblogs.com/simadi/p/7026027.html 来源: CSDN 作者: weixin_30399055 链接: https://blog.csdn.net/weixin_30399055/article/details/98688799

47个在线实例让你迅速掌握NodeJs异步编程

别说谁变了你拦得住时间么 提交于 2019-12-05 15:43:06
自从掉进了NodeJs的海洋之后,也陆续有小伙伴留言来咨询一些NodeJs的问题,其中大多数是关于异步编程的。 关于基础方便的这里不多做赘述,但是使用NodeJs就绕不开三个东西——promise、async、await。 所以,如果能够正确的理解、并使用这三个关键词,那么无异于握住了NodeJs异步、同步编程的Key。 今天就来推荐一个很棒的live项目,可以帮助学习NodeJs的异步编程。 项目介绍 项目名字叫做:async-javascript-cheatsheet,Javascript异步编程的作弊手册。 其实也不算作弊了,只不过作者为了让人深入的理解promise、async、await而做出来的教程项目,教程包含了47个可以在线运行的实例,一个个撸下去,包学包会。 大概这个样子,对NodeJs有兴趣,但是还没有入门的小伙伴们,可以赶紧用起来啦。 项目地址 GitHub地址: https://github.com/frontarm/async-javascript-cheatsheet 来源:GitHUb精品推荐 欢迎关注我的公众号:【编程资源库】 ,关注后回复“我来自互联网”即可领取2000G视频教程 来源: CSDN 作者: githubshare 链接: https://blog.csdn.net/githubshare/article/details

干货 | Nodejs异步编程详解

邮差的信 提交于 2019-12-05 15:38:21
点击上方“中兴开发者社区”,关注我们 每天读一篇一线开发者原创好文 作者简介 作者廖元之是一名优秀的全栈开发工程师,对前端性能优化,数据可视化等有自己独到的理解。今天他为我们带来nodejs异步编程解决方案,希望对无论是web开发还是仅仅使用Nodejs做脚本的同学都有所帮助。 写在前面 python语法简单易上手,又有大量的库的支持,在工具脚本这格领域体现了它的价值,地位不可动摇。我本来是也是使用python编写一些脚本的,但由于一些巧合、契机,我接触到了Nodejs,基于一些个人原因,我更倾向使用Nodejs来编写平时使用的工具脚本,包括数据采集入库之类,但由于js这个语言本身的一些特性,使得Nodejs作为脚本来开发的话难度曲线相对陡峭,这篇文章我就关于Nodejs中最关键也是最难的异步编程做一些介绍和讲解 $这篇文章面向的读者绝对不是对Nodejs完全没用过的同学,读者需要对Nodejs有简单的了解$ Nodejs的异步 Nodejs本身是单线程的,底层核心库是Google开发的V8引擎,而主要负责实现Nodejs的异步功能的是一个叫做libuv的开源库,github上可以找到它。 先看几行python代码 file_obj = open ( './test.txt' ) print ( file_obj . read ()) 这行代码逻辑相当简单

nodejs异步编程

∥☆過路亽.° 提交于 2019-12-05 15:37:52
nodejs异步编程,老生常谈。今天总结一下,算是巩固学习吧。 以读文件为例,同步编程这么写: var fs = require ( "fs" ); var fileContent = fs.readFileSync( 'sync.js' , 'utf8' ); console.log(fileContent); console.log( "something else" ); 异步编程咋整?回调函数伺候之: var fs = require ( "fs" ); fs.readFile( 'async.js' , 'utf8' , function (err,data) { if (!err) { console.log(data); } }); console.log( "something else" ); 回调函数太棒了,程序可以异步了。不过回调这东西有点好过头了,当回掉函数嵌套太多时候,程序写起来相当烦人。我想每个人都知道回调地狱(callback hell)。 javascript这个又爱又恨的东西这几年发展很快,投入的很大精力去改进的东西很多东西都是为了避免回调地狱。到现在(2016-5-17),es7草案已经提出,下面我们就以es7的视野来总结一下如何避免callback hell来异步编程。 模块化代码 使用生成器 使用promise 使用时间驱动编程

从Java的角度理解前端框架,nodejs,reactjs,angularjs,requirejs,seajs

寵の児 提交于 2019-12-05 15:37:10
【前端神秘的面纱】 对后端开发来说,前端是神秘的, 眼花缭乱的技术,繁多的框架, 如果你还停留在前端等于只用jquery做开发,那么你out了, 本文从Java的角度简述下目前前端流行的一些框架。 水平有限,欢迎指正。 【nodejs】 官网: https://nodejs.org/ 简介: 对前端来说极其重要的一个“框架”,简直可以说是开天辟地 类比Java中:JVM 详述: 就前端来说nodejs具有划时代的意义, 做前端的没用过nodejs都不好意思说自己是前端, 做后端的没听过nodejs, 或者说不出nodejs和java的优缺点,也不是一个合格的后端。 nodejs不是一个js框架,千万不要认为是类似jquery的框架, nodejs是js运行时,运行环境,类比java中jvm, java的开端是什么,无疑是jvm,自从有了jvm,java才能吹牛说自己是“一次编写处处运行”, 不管你是windows还是linux,只要安装了对应版本的jvm都可以运行.class文件。 同样nodejs的作用和jvm的一样一样的,也是js的运行环境,不管是你是什么操作系统, 只要安装对应版本的nodejs,那你就可以用js来开发后台程序。 这具有划时代的意义,意味着一直以来只能在浏览器上玩来玩去的js,可以做后端开发了, 从有了nodejs后就催生出一大批用js做后台开发的前端人员

帮助公司引入 nodeJs(Web框架为 egg ) 后的一些感受与总结

我的未来我决定 提交于 2019-12-05 15:27:33
接近快两个月没有更新博客了,总结有以下几种原因 6月房子到期了,要找新地方租房啦 加上基友出差,每周末等他回来一起去看房,真累,并且和上个房东还就押金的事有很多冲突 生活不简单呀; 部门 php 资源有点不够,上司同意并建议引入 nodeJs,我也终于等到了这一天,于是开始查看 egg 文档,发现跟 koa 一样,上手难度基本没有,也不愧是阿里巴巴的企业级开源框架,从半自然路由方式到 MVC 的分离已经做的极好了,在日志系统与定时任务上也已经做的相当完善,并且直接引入 cluster 模块,使用 TCP 建立 master 进程去 fork 复制 cpu 数量的子进程去执行业务代码,还在 master 中独立引入了 agent 层去处理一些公共配置逻辑,可以说在集群的稳定性方面下了一定的功夫了,在 《NodeJs 深入浅出》 第九章的总结内,我会总结这个集群的创建原理; 既然已经写到了这篇博客,当然就代表我已经将 egg 搭建并已经成功上线了 2 个活动模块啦,其中的基础设施为了方便 php 的同事以及老大去 review,我基本上就是复刻了部门 php 架构的基础设施,现在暂时是将目前要用的都引入了,后面用到哪个就再继续重构哪一部分就好,php 嘛虽然不怎么会写,但是看懂完全没有问题~遇到不知道的函数 百度 谷歌就好(对了,我们老大是 php 出身,所以写 node

nodejs学习历程(一)

前提是你 提交于 2019-12-05 15:21:53
nodejs介绍 nodejs语法完全是js语法,只要懂js基础就可以学会nodejs后端开发 nodejs超强的高并发能力 *传统同时处理4000用户,nodejs处理40000用户 实现高性能服务器 开发周期短,开发成本低,学习成本低 模块 http模块 //1.引入http模块 var http = require("http"); //2.用http模块创建服务//req获取url信息(request)//res浏览器返回相应信息(response) http .createServer(function(req, res) { //发送http服务 //HTTP状态值:200 :OK //设置HTTP头部,状态码是200,文件类型是html,字符集是utf-8 res.writeHead(200, { "Content-Type": "text/html;charset='utf-8'" }); res.write('<head><meta charset="utf-8"/></head>')//不写的话浏览器上会出现乱码 res.write("first nodejs"); res.write("你好 nodejs"); res.write("我是 nodejs"); res.end(); //结束响应 }) .listen(8002); url模块 url.parse

NodeJs基础

泄露秘密 提交于 2019-12-05 15:19:34
NodeJs基础 nodejs的本质:不是一门新的编程语言,nodejs是javascript运行在服务端的运行环境,编程语言还是javascript global模块-全局变量 Node.js 中的全局对象是 global , 类似于浏览器中的 window 常用的global属性 console : 用于打印日志 setTimeout / clearTimeout : 设置清除延时器 setInterval / clearInterval : 设置清除定时器 __dirname : 当前文件的路径,不包括文件名 __filename: 获取当前文件的路径,包括文件名 //与模块化相关的,模块化的时候会用到 require exports module 除了global模块中的内容可以直接使用,其他模块都是需要加载的。 其他模块不是全局的,不能直接使用。因此需要导入才能使用。 fs模块 fileSystem-- 文件系统,提供了一系列操作文件的API接口,可以方便我读写文件 读取文件 语法:fs.readFile(path[, options], callback) 方式一:不传编码参数 //参数1: 文件的名字 //参数2: 读取文件的回调函数 //参数1:错误对象,如果读取失败,err会包含错误信息,如果读取成功,err是null //参数2:读取成功后的数据