学习node.js 总结

npm

npm是nodejs的包管理工具。千万千万别再用cnpm了

# npm安装插件的时候会特别慢,可以通过设置淘宝镜像来解决这个问题
npm i nrm -g # 安装一个nrm模块,用来切换npm的仓库镜像地址
nrm ls # 列出当前可以使用的镜像仓库地址
nrm use taobao # 设置当前的安装仓库镜像地址为淘宝镜像, 此操作在一台电脑只需要设置一次就好

npm中常用的命令

npm init # 初始化一个node项目
npm i xx # 安装依赖项
npm i xx -g # 全局安装
npm i xx@version # 安装指定版本的模块
npm uninstall xx # 卸载模块

nodejs执行文件

node xx # node加文件名
## restful风格的api

API,我们在做开发的时候可能需要用到和数据库、服务器、设备等其他资源进行交互。API又叫接口,对外提供一些可以访问的功能。

restful风格的api,它是一种api的编写规范。约定大于配置

/api/vX/resources/.....

api表示这是一个服务接口

vX表示版本号,常见的有v1,v2,v3...

resources表示资源,是名字的复数形式

api提供一些基础的功能curd

/api/v1/movies get 获取列表数据
/api/v1/movies/:id get 根据id获取单条记录
/api/v1/movies post 新增一条记录
/api/v1/movies/:id put 修改数据
/api/v1/movies/:id delete 删除数据


http://www.ruanyifeng.com/blog/2014/05/restful_api.html

## 数据持久化

数据持久化,就是把数据保存在电脑硬盘中,当电脑重启之后还是存在的。比较常见的数据持久化方案:

1. 存文件
2. 存数据库

## 使用存文件的方式实现数据持久化

### 分模块开发

把一个复杂的系统,通过相应的功能拆分,分成一些小功能进行开发,可以让多人同时开发一个项目而互不影响。

模块拆分的时候遵循一个原则:高内聚低耦合
## http请求报文

常见的请求方式

​	get

​	post

​	put

​	delete

### 请求报文

请求行

​	请求方式 请求地址 版本号

请求头

​	cookie,host,origin,Content-Type



请求体

​	存储的是发送给服务器的数据



请求头和请求体之间有一个空行,空行的作用是分割请求头和请求体



#### 常见的content-type

application/x-www-form-urlencoded url编码
application/json json格式的
multipart/form-data form-data格式的,通常用来上传文件的时候使用

SSR

SSR(Server Side Render),服务器端渲染。所有页面效果生成都是在服务器端进行的,客户端只是用来进行展示

BSR/CSR

BSR(Browser Side Render) 浏览器渲染

CSR(Client Side Render) 客户端渲染

客户端浏览器请求到页面的结构之后,再向服务器发送请求数据的要求,获取数据之后在客户端端浏览器中进行渲染

ejs模板语法

<%= xx %>   在页面中输出显示内容
<%- strHtml字符串 %> 把html内容进行解析之后输出
<% js表达式 %> 尖括号中间的是js内容

npm i axios cheerio

express express-app-first -e

npm uninstall gulp 卸载

npm run XXX可以直接引入 nodemon


是一个NODE模块,用来操作mongodb数据库
npm i mongoose

 Person.find     // 根据条件查找,返回一个数组
 Person.findOne  // 根据条件查找,返回一个
 Person.findById // 根据id查找
  .save // 保存
 Person.findByIdAndDelete // 根据id删除
 Person.findByIdAndUpdate // 根绝id修改

  // try/catch做异常处理

// async/await
// async和await是成对出现的
//  await必须放在async修饰的方法内部
//  await后面跟一个promise操作,等待promise成功调用

 npx express-generator生成一个EXPRESS文件夹
脚手架

 npm start  可以端口号

npm i cors 解决跨域app.use(require("cors")());

npm i multer实现图片上传功能
bootstrap 管理后台模板
懒人之间
模板之家

npm i babel-core babel-preset-es2015 babel-cli
npm uninstall babel-preset-es2015
JQ22

 <!-- 解决图片资源加载403的问题 -->
    <meta name="referrer" content="no-referrer" />

npm i jsonwebtoken 安装一个插件

npm i socket.io
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值