服务端概念:
服务端(后端/server)为前端提供支撑和营养,像一棵树
职责:提供数据,接受数据,存储数据
前端和后端的交互(回顾http协议,Request 和 Response)
后端如何处理数据
定义前端请求url规则 -- 路由
用Request获取数据,用Response返回数据
读取和存储数据 - 数据库
nodejs
基于Chrome V8 引擎的 JavaScript 运行时 (运行时:代码的运行环境,有了运行时,代码才能被执行)
终端输入mkdir learn
:在桌面创建文件夹
//写一段代码通过nodejs运行起来,而且启动了一个服务端
const http = require('http')
// req -- request res = response
const server = http.createServer((req, res) => {
const url = req.url // '/index.html?a=100'
const path = url.split('?')[0] // '/index.html'
res.end(path)
})
server.listen(3000)
之后在终端输入ls ,然后输入node index.js,回车
npm(node package manager) nodejs 软件包管理者
有几百万的软件包(开源免费)
项目不会从0开始写,现在的创建一个项目都是基于成熟的框架或者工具,搭建起来再加入我们自己写的业务代码,去实现功能
每个成熟的开发语言或者环境,都需要成熟的软件包体系
npm会随着nodejs一起被安装
npm init 初始化环境
npm install lodash --save 安装lodash
Lodash
Lodash -- 是一个一致性、模块化、高性能的JavaScript实用工具库
使用lodash:
1.lodash初始化
2.安装,产生一个依赖,多了一个node.modules文件夹
3.使用
nodemon(帮我们启动服务 )
安装nodemon:npm install nodemon --save-dev
--save 和 --save-dev的区别
在package.json中的表现
// 不会在代码中直接使用
"devDependencies": {
"nodemon": "^2.0.12"
}
如果需要在代码中直接使用:--save
如果不需要在代码中直接使用:--save-dev
介绍nodenom的安装和使用
commonjs 模块化
ES6 Module:
-
export ... 或 export default...
-
Import ... from ...
-
一般用于前端开发
全局安装vue脚手架:npm install @vue/cli -g
如果报错,可以在前面 + sudo
//用这种方式来输出sum函数
export default sumd
//通过import引用并使用内容
import {sum, test} from './utils'
演示ES6 Module
1.进入jiuyeban-code目录,安装vue脚手架:npm i @vue/cli -g
2.然后输入vue create es6-module-test,回车,一路回车
3.输入cd es6-module-test,回车,定位到这个创建好的文件夹,输入npm run serve
4.访问 https://localhost:8080 即可访问
commonjs 语法介绍(主要用于 node.js )开发
和ES6的模块化不一样,commonjs语法使用module.exports来输出我们的内容,使用require(...)来引用我们的内容
require(...)的三个层级(分为三级来处理)
- 系统自带模块,如require('http')
- npm包,如require('lodash')
- 自定义模块,如require('a')
const http = require('http') // nodejs 自带的模块
const _ = require('lodash') // 通过 npm 安装的模块
const {sum, test} = require('./utils') // 自己手写的模块
commonjs 和 ES6 Module 的区别
两者语法不一样
commonjs 是执行时引入,动态的(执行到具体哪一步再引入)
ES6 Module 是打包时引入,静态的(不管什么时候执行,必须得先引入进来)
4.4 为什么要使用模块化