nodejs学习

Nodejs Express初学

瘦欲@ 提交于 2019-12-05 14:56:40
刚好要在公司的一个数据展示项目(Nodejs开发)开发点东西,顺便学习一下nodejs 的express框架。假定我们安装好了nodejs 的环境(Windows下). 安装express 全局安装 npm install --g express npm install -g express-generator 安装完成可以express -V(大写的) 查看express版本 使用express a. 项目初始化 进入一个你想要放置项目的目录,然后执行下面命令,初使化一个名为test的项目 express -e test 如果第一次使用,可能会初使化完成后,会看到 install dependencies: cd test & npm install, 这是提示一些依赖现在还没安装,先进入项目test目录,然后执行 npm install安装依赖模块。 安装完成后,如果没有别的错误,就执行 npm start 看看是否正常,如果没有报错,在浏览器里输入 localhost:3000.会显示Welcome to Express. 这样,初始完成。 b. express 初始化文件与文件夹的说明 项目创建成功之后,test 目录下 五个文件夹, 主文件:app.js 配置信息文件:package.json bin是项目的启动文件,配置以什么方式启动项目,默认 npm start

nodejs连接redis学习

旧城冷巷雨未停 提交于 2019-12-05 14:40:27
网址:https://www.npmjs.com/package/redis (1)安装 下载地址: https://github.com/MSOpenTech/redis/releases 。 打开一个 cmd 窗口 使用cd命令切换目录到 C:\redis 运行 redis-server.exe redis.windows.conf 这时候另启一个cmd窗口,原来的不要关闭,不然就无法访问服务端了。 切换到redis目录下运行 redis-cli.exe -h 127.0.0.1 -p 6379 。 设置键值对 set myKey abc 取出键值对 get myKey (2)nodejs连接 redis var redis = require('redis'), RDS_PORT = 6379, RDS_HOST = '127.0.0.1', RDS_OPTS = {}, client = redis.createClient(RDS_PORT, RDS_HOST, RDS_OPTS); client.on('ready', function(res){ console.log('ready') }) (3) 取值和赋值 var redis = require('redis'), RDS_PORT = 6379, RDS_HOST = '127.0.0.1', RDS

nodejs学习重点一

筅森魡賤 提交于 2019-12-05 14:39:31
阮一峰ES6入门电子版书籍: http://es6.ruanyifeng.com/ 1. 定义变量 ES6语法: 将之前的变量var改为了let, 常量为const. 为什么要改var呢?, 因为它有很多的坑... //1. var允许重复声明变量而不报错: var a = 10 var a = 20 console.log(a) //打印结果为20 //2. var 的作用域让人感到疑惑: let b = "haha" if (b == "haha"){ var age = 20 } console.log(age) //是可以打印20的 换做let, 上面的两种情况就会报错, 而不是无脑输出 2. 解构赋值 ES6 允许我们按照一定模式,从数组和对象中提取值,对变量进行赋值,这被称为解构(Destructuring) - 数组的解构赋值 const arr = [1, 2, 3] //我们得到了一个数组 let [a, b, c] = arr //可以这样同时定义变量和赋值 console.log(a, b, c); // 1 2 3 - 对象的解构赋值(常用)..具名参数 const obj = { name: '小龙',address:'北京', age: '100'} //我们得到了一个对象 let {name, age} = obj //可以这样定义变量并赋值

基于nodeJs的几种框架的介绍

北城以北 提交于 2019-12-05 14:22:31
**基于nodejs的框架大致常用的有以下几中: express(始祖) 、koa、loopback(strongLoop)等等 一、expresss框架 官网: http://expressjs.com/ 建议初学者看菜鸟: http://www.runoob.com/nodejs/nodejs-express-framework.html nodejs的web框架 (后台+前端) 项目搭建: 链接: https://blog.csdn.net/weixin_39435629/article/details/84874903 二、koa框架 https://www.liaoxuefeng.com/wiki/001434446689867b27157e896e74d51a89c25cc8b43bdb3000/001434501579966ab03decb0dd246e1a6799dd653a15e1b000 koa是Express的下一代基于Node.js的web框架,目前有1.x和2.0两个版本。 为了支持ES的更高版本而开发的web级框架 项目搭建: (特别好的学习) https://www.liaoxuefeng.com/wiki/001434446689867b27157e896e74d51a89c25cc8b43bdb3000

nodejs学习过程中遇到的一些难点整理

烈酒焚心 提交于 2019-12-05 14:02:37
1. app.use app.use 加载用于处理http請求的middleware(中间件),当一个请求来的时候,会依次被这些 middlewares处理 app.use顺序执行 注意:app.use注册的中间件,如果path参数为空,则默认为”/”,而path为”/”的中间件默认匹配所有的请求。 //定义自己的中间件 // catch 404 and forward to error handler app.use( function (req, res, next) { var err = new Error ( 'Not Found' ); err.status = 404 ; next(err); //next函数主要是用来确保所有注册的中间件被一个接一个的执行,那么我们就应该在所有的中间件中调用next函数,但有一个特例,如果我们定义的中间件终结了本次请求,那就不应该再调用next函数 }); Express 框架的 API,说白了就是钩子链。 app.use([path, ]hook) app.get(path[, hook1, hook2, hook3, …], handler) 任何一个钩子,只要调用了 res.end()(或者 res.send()、res.render() 之类最终会调用 res.end() 的方法)后,就将内容返回给用户,中断后续的钩子

nodeJS的知识点

人走茶凉 提交于 2019-12-05 13:55:19
模块化: 系统模块:http,url,fs。 assert:断言测试 buffer:二进制数据 c/c++addons: child processes:子进程 Crypto:加密(MD5,sha256) dns:域名解析 domain:舍弃 errors:各种错误提示 events:事件 globals: net:各种各样的网络操作 OS:跟操作系统的信息 Path:处理文件路径 Stream:流操作 Timers:定时器 util:工具类 vm:虚拟机 zlib:压缩操作 nodeJS的模块很多,也很实用。我们会慢慢介绍 模块组成: 模块的引入: [x] require:请求;引入模块的;在nodeJS中使用这个,对于自定义的模块引入的时候需要加上./的标志。因为这个可以告诉它这个是nodeJS自己的系统模块,还是你自己写的。如果自己写的模块不想写./,那就把自己的模块加入到node_modules文件夹。require一般先从系统模块找,找不到再去node_modules去找。 [x] module:模块。如果对外输出大量的东西和变量。module.exports={};通俗的说就是批量输出的。 [x] exports:输出;对外想输出东西加上exports这个变量。例如:exports.a=12;单个输出 [x] module.exports == exports是成立的。

NodeJS学习第一季-路由规则

折月煮酒 提交于 2019-12-05 11:01:56
1、req.query 处理GET请求 ,获取GET参数 //GET /search?q=tobi+ferret req.query.q //=>"tobi ferret" //GET /shoes?order=desc&shoe[color]=blue&shoe[type]=converse req.query.order //=>"desc" req.query.shoe.color //=>"blue" 2、req.body 处理POST请求,获取POST参数 //POST user[name]=tobi&user[email]=tobi@qq.com req.body.user.name //=>"tobi" //POST {"name": "tobi"} req.body.name //=>"tobi" 3、req.params 处理/xxx形式的GET/POST请求 //GET /user/tj req.params.user //=>"tj" //GET /js/javascript/jquery.js req.params[0] //=>"javascript/jquery.js" 4、req.param() 处理GET/POST请求,但查找优先级由高到低为 req.params-->req.body-->req.query //?name=tobi req

Socket.io学习

半世苍凉 提交于 2019-12-05 10:57:18
服务器端和客户端实现实时通讯的技术,服务端运行在nodejs平台,客户端运用javascript脚本 服务端: 创建socketio-demo文件夹,并进入此文件夹 第一步:安装node,npm(自行补脑) 第二步:了解vim基本操作 参考文章 http://blog.csdn.net/youngkingyj/article/details/22713965 插入模式:i 命令行模式:esc 保存并推出::wq 推出不保存::q! 第三步:创建package文件 vi package.json 第四步:安装express,检查express cnpm install --save express cat package.json 第五步: 来源: oschina 链接: https://my.oschina.net/u/2845173/blog/756876

前端文档汇总(含代码规范、开发流程、知识分享,持续更新)

左心房为你撑大大i 提交于 2019-12-05 08:34:30
front-end-Doc 前端文档汇总(含代码规范、开发流程、知识分享,持续更新) 原Github地址 进去后可直接点链接查看文章 综合类 地址 前端文档基本例子 https://github.com/mgbq/front... 前端知识体系 http://www.cnblogs.com/sb1987... 前端知识结构 https://github.com/JacksonTia... Web前端开发大系概览 https://github.com/unruledboy... Web前端开发大系概览-中文版 http://www.cnblogs.com/unrule... Web Front-end Stack v2.2 https://raw.githubusercontent... 免费的编程中文书籍索引 https://github.com/justjavac/... 前端书籍 https://github.com/dypsilon/f... 前端免费书籍大全 https://github.com/vhf/free-p... 前端知识体系 http://www.cnblogs.com/sb1987... 免费的编程中文书籍索引 https://github.com/justjavac/... 智能社 - 精通JavaScript开发 http://study.163.com

Nodejs和Mongodb的连接器Mongoose

情到浓时终转凉″ 提交于 2019-12-05 07:42:22
简介 今天我们将学习Mongoose,什么是Mongoose呢,它于MongoDB又是什么关系呢,它可以用来做什么呢,介绍Mongoose之前,我们先简单了解一下MongoDB。 MongoDB是一个开源的NoSQL数据库,相比MySQL那样的关系型数据库,它更显得轻巧、灵活,非常适合在数据规模很大、事务性不强的场合下使用。同时它也是一个对象数据库,没有表、行等概念,也没有固定的模式和结构,所有的数据以文档的形式存储(文档,就是一个关联数组式的对象,它的内部由属性组成,一个属性对应的值可能是一个数、字符串、日期、数组,甚至是一个嵌套的文档。),数据格式就是JSON。 介绍了 MongoDB ,我们下面就要认识Mongoose了。 1. Mongoose是什么? Mongoose是MongoDB的一个对象模型工具,是基于node-mongodb-native开发的MongoDB nodejs驱动,可以在异步的环境下执行。同时它也是针对MongoDB操作的一个对象模型库,封装了MongoDB对文档的的一些增删改查等常用方法,让NodeJS操作Mongodb数据库变得更加灵活简单。 2. Mongoose能做什么? Mongoose,因为封装了对MongoDB对文档操作的常用处理方法,让NodeJS操作Mongodb数据库变得easy、easy、So easy! 学习了上面的介绍