nodejs学习笔记

## 模块化 ##

每一个js文件就是一个模块
    每个模块就是一个单独的作用域

依赖和依赖注入

一样东西要依赖另外一样东西才能运行

如jquery依赖的是jquery的js文件,handlebar模板引擎依赖handlebars.js文件
如 js文件依赖于js解析引擎

module.exports.xxx = xxx;
commonjs规范通过module.exports来暴露模块里的xxx

**在app.js文件里**

1.require(‘路径‘)来接收这个暴露,引入文件
var b = require(b.js)

2.设置路由
 app.use(‘/b‘, b);

www是nodejs的启动文件

public 文件夹放项目静态文件
    routes 路由,内容分发

req.query 拿到前端传过来的name名字(请求头,得到get)
req.body 拿到前端传过来的name名字(请求体,得到post)

res.send() 发送内容
res.sendfile()发送文件/页面

交互步骤
1.在public 静态文件夹下创建提交交互的页面
2.在action 下设置处理的文件路径
3.更改users.js里的
   
   `router.post(‘/log‘,function(req,res,next){`
     if(req.body.userName===‘zs‘&&req.body.password=== ‘123456‘){
         res.sendfile(‘./public/success.html‘)
     }else{
         res.sendfile(‘./public/fail.html‘)
     }
    })

post — 只提交表单时的方式 get/post
     ‘log‘ — 自己配置的表单提交路径
     req — 请求
     res — 响应
     send() — 响应后返回字符串
     sendfile() — 响应后返回文件(html等)
     req.query.username — 接收请求时在头部(query)里获取到‘get‘方式
     并且获取到提交的name.
     req.body.username — 接收请求时在身体(body)里获取到‘post‘方式,并且获取到提交的name.

连接数据库

1.复制文档里的连接方式

2.设置数据类型的结构
  schema 结构 :用来描述数据类型的结构,如name = string password=string
 ** 例:**
  var userSchema = new mongoose.Schema({
      name:‘string‘,
      passwored:‘string‘
   })

3.创建model模型
   mongoose.model(模型名称,模型对应的结构schema,mongodb里对应的文档名)
   mongoose.model(‘user‘,userSchema,‘userCollection‘)

4.在触发某个路径的时候,会操作数据库,如新增数据
   var userModel = mongoose.model(‘users‘);
   mongoose.create({
      userName:req.body/query.userName,
      password:req.body/query.password
    },function(err,data){
    
   })

时间: 2024-12-27 10:51:14

nodejs学习笔记的相关文章

nodejs学习笔记(基于v7.4.0)

nodejs学习笔记 一.buffer: 全局对象(单例   Buffer.from   Buffer.alloc   Buffer.allocUnsafe ) 编码类型 描述 ascii 仅仅用于7位ascall数据编码,速度快,如果设置了将会剥离高位 utf8 多字节的编码的Unicode字符,网页文档大部分默认都为它. utf16le 小端编码的Unicode字符,2或者4个字节 ucs2 utf16le的别名 base64 Base64是网络上最常见的用于传输8Bit字节代码的编码方式之

nodejs学习笔记_nodejs和PHP在基础架构上的差别--共享状态的并发

绝大多数对于Node.js的讨论都把关注点放在了处理高并发能力上,做开发的时候一定要明确node内部做出的权衡,以及node应用性能好的原因. node 为javascript引入了一个复杂的概念,:共享状态的并发. node採用一个长期执行的进程 而php在apache中会产生多个进程 例如以下图所看到的: 代码验证: PHP: <?php $i = 0; $i++; echo $i nodejs: var http = require('http'); var i=0; http.creat

nodejs学习笔记之安装、入门

由于项目需要,最近开始学习nodejs.在学习过程中,记录一些必要的操作和应该注意的点. 首先是如何安装nodejs环境?(我用的是windows 7环境,所以主要是windows 7的例子.如果想看linux下的安装可以参考http://www.cnblogs.com/meteoric_cry/archive/2013/01/04/2844481.html) 1. nodejs提供了一些安装程序,可以去官网(http://nodejs.org/download/)按照自己的机器进行下载,下载完

Nodejs学习笔记(八)--- Node.js + Express 实现上传文件功能(felixge/node-formidable)

目录 前言 formidable简介 创建项目并安装formidable 实现上传功能 运行结果 部分疑惑解析 写在之后 前言 前面讲了一个构建网站的示例,这次在此基础上再说说web的常规功能----文件上传,示例以一个上传图片的功能为例子 上传功能命名用formidable实现,示例很简单! PS:最近比较忙,距上一次更新已经比较久了^_^! formidable简介 nodejs原生实现上传还是比较麻烦,有兴趣的自已去参考一下网上有网友写的代码 这里选择了formidable,也是githu

Nodejs学习笔记(三)——一张图看懂Nodejs建站

前言:一条线,竖着放,如果做不到精进至深,那就旋转90°,至少也图个幅度宽广. 通俗解释上面的胡言乱语:还没学会爬,就学起走了?! 继上篇<Nodejs学习笔记(二)——Eclipse中运行调试Nodejs>之后,代码编写环境就从Sublime转战到Eclipse下,感觉顺手多了.于是就跟着Scott老师学起了Nodejs建站的课程(推荐大家点进去看看),踏上了未爬先走的路子. 作为一个白里透白的小白来说,今天主要记录下如何用Nodejs搭建一个小小的网站,以及自己对于这种Nodejs建站的运

NodeJS学习笔记(一)——搭建开发框架Express,实现Web网站登录验证

JS是脚本语言,脚本语言都需要一个解析器才能运行.对于写在HTML页面里的JS,浏览器充当了解析器的角色.而对于需要独立运行的JS,NodeJS就是一个解析器.每一种解析器都是一个运行环境,不但允许JS定义各种数据结构,进行各种计算,还允许JS使用运行环境提供的内置对象和方法做一些事情.例如运行在浏览器中的JS的用途是操作DOM,浏览器就提供了document之类的内置对象.而运行在NodeJS中的JS的用途是操作磁盘文件或搭建HTTP服务器,NodeJS就相应提供了fs.http等内置对象.E

nodejs学习笔记_nodejs和PHP在基础架构上的区别--共享状态的并发

绝大多数对于Node.js的讨论都把关注点放在了处理高并发能力上,做开发的时候一定要明白node内部做出的权衡,以及node应用性能好的原因. node 为javascript引入了一个复杂的概念,:共享状态的并发. node采用一个长期运行的进程 而php在apache中会产生多个进程 如下图所示: 代码验证: PHP: <?php $i = 0; $i++; echo $i nodejs: var http = require('http'); var i=0; http.createSer

Nodejs学习笔记(一)——初识Nodejs

前言:目前工作的分内之事相对较为单一,希望可以通过工作之余的时间给自己充充电,只是没有一个学伴或大神带,只能说是摸索着前进.起初准备好好研究下Spring这个框架,下载了源码,结合书籍准备一探究竟,看到了Spring如何加载bean,又如何转换成自己的数据格式等等,虽尚未涉及实战,倒算是对之前工作中遇到的一些困惑有所帮助.合计准备写一篇博客以示我的“大数据小世界”的博客还不至于长草太深,只是后来机缘巧合,想了解下关于爬虫一类的东西,Spring就先做搁置. 在度娘上搜索爬虫,铺天盖地的各色技术引

Nodejs学习笔记(一)--- 简介及安装Node.js开发环境

目录 学习资料 简介 安装Node.js npm简介 开发工具 Sublime Node.js开发环境配置 扩展:安装多版本管理器 学习资料 1.深入浅出Node.js http://www.infoq.com/cn/minibooks/nodejs 2.Node.js开发指南 简介(只捡了我觉得重要的) Node.js是让Javascript脱离浏览器运行在服务器的一个平台,不是语言: Node.js采用的Javascript引擎是来自Google Chrome的V8:运行在浏览器外不用考虑头

Nodejs学习笔记(十)--- 与MongoDB的交互(mongodb/node-mongodb-native)、MongoDB入门

目录 简介 MongoDB安装(windows) MongoDB基本语法和操作入门(mongo.exe客户端操作) 库操作 插入 查询 修改 删除 存储过程 nodejs操作MongoDB 插入 查询 修改 删除 调用存储过程 写在之后... 简介 MongoDB 开源,高性能的NoSQL数据库:支持索引.集群.复制和故障转移.各种语言的驱动程序:高伸缩性: NoSQL毕竟还处于发展阶段,也有说它的各种问题的:http://coolshell.cn/articles/5826.html  官网地