1、使用nodejs编写静态服务器

const http = rquire('http');
const url = require('url');
const server = http.createServer((req, res) => {if (req.url !== '/favicon.ico) {// const params = url.parse(req.url, true).queryres.writeHead(200, {'Content-Type': 'text/html;charset=utf-8'})res.write('hello world')res.end()}
})server.listen(3000)

2、express的基本操作

npm / cnpm i express-generator -g
express myapp --view=ejs
cd myapp
cnpm / npm i
npm run start

cnpm / npm i supervisor -g
配置了dev指令
dev: supervisor ./bin/www
cnpm /npm run dev

ejs模板语法
<% %>
<%- %> / <%= %>
<% if () { %>
<% } %>

<% for() { %>
<% } %>

<%- include() %>

3、mongodb的基本语法(增删改查)

show dbs
use sh1904
db.getCollectionNames()
db.createCollection(‘users’)
db.users.insert({} / [{},{}])
db.users.insertMany([{},{}])
db.users.insertOne({})
db.users.deleteOne({key:value})
db.users.deleteMany({key:value} / {})
db.users.updateOne({key:value}, { KaTeX parse error: Expected 'EOF', got '}' at position 8: set: {}}̲ / {inc: {key: 1}})
db.users.updateMany({key:value}, { KaTeX parse error: Expected 'EOF', got '}' at position 8: set: {}}̲ / {inc: {key: 1}})
db.users.find().pretty()
db.users.find({key:value}).pretty()
dbusers.find({ age: { $lte: 20, $gte: 15}}).pretty()
db.users.find({name: /吴/}).pretty()
db.users.find({}, {_id:0}).pretty()
db.users.find({},{}).sort({age: 1}).pretty()
db.users.find({},{}).limit(20).skip(0).pretty()
db.users.distinct(‘age’)

node + mongoose + express

4、模块化开发

express项目中体现了模块化的概念 — 遵循 Commonjs的规范
(AMD - require.js / CMD - sea.js)

module.exports = md ----- const md = require(’./md.js’)

export default md ---- import md from ‘./md.js’

export const a = 1 ---- import { a } from ‘./a.js’

5、前后端合作方式(前后端分离 -token/session)

后端渲染 — 前后端不分离 — ejs模板写后台管理系统

同构渲染 — 服务端渲染 — vue(nuxt.js)

前端渲染 — 前后端分离的开发

跨域 – 同源策略 – jsonp / cors / 反向代理 ---- 接口文档 – postman

判断用户是否登陆 cookie / webStorage / session
前端验证 ---- 本地存储
后端验证 ---- token + 本地储存

----- 基于socket的通讯方式 — 聊天室

6、基于Socket.io实现聊天室的应用场景

socket.io — 聊天 – 画板

socket.on(‘eventname’, function (str) {})
socket.emit('eventname, str)

即时通讯 — 多人合作 ---- 音视频 — 数据的可视化

7、MVC/MVP/MVVM的区别

mvc — 不好划分
model view controller
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ULW66KlZ-1595055027362)(en-resource://database/1856:1)]

mvp — 被动
model view presenter
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-LGQxT9qX-1595055027365)(en-resource://database/1857:1)]

mvvm — 主动
model view viewmodel[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-BtYgfG0c-1595055027367)(en-resource://database/1858:1)]

8、vue数据双向绑定的原理

数据劫持 — Object.defineProperty()

发布订阅者模式

原理
1.实现一个监听器Observer,用来劫持并监听所有属性,如果有变动的,就通知订阅者。
2.实现一个订阅者Watcher,可以收到属性的变化通知并执行相应的函数,从而更新视图。
3.实现一个解析器Compile,可以扫描和解析每个节点的相关指令,并根据初始化模板数据以及初始化相应的订阅器。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-t2IMS3qA-1595055027371)(en-resource://database/1859:1)]

angularjs的双向绑定: 依赖注入

9、Vue的基本属性

data / components / filters / directives / methods / mixins / watch / props / name

10、Vue的指令

v-for / v-if / v-else-if / v-else / v-show / v-model / v-html / v-text / v-bind / v-on / v-slot / v-once / v-cloak / v-pre /

11、Vue的生命周期钩子函数

brforeCreate / created / beforeMount / mounted / beforeUpdate / updated / beforeDestroy / destroyed / activated / deactivated / errorCaptured

12、vue项目的脚手架

@vue/cli — webpack4
cnpm / npm i @vue/cli -g
vue create myapp / vue ui
可以安装 2的兼容插件
cnpm /npm i @vue/cli-init -g
vue init webapck myapp

vue-cli — webpack3
cnpm / npm i vue-cli -g
vue init webpack myapp

文件名为单文件组件 ,后缀名为.vue — 结构 + 行为 + 表现

13、vue的路由 vue-router

基本使用

命名视图 ---- 多视图路由

声明式跳转

编程式跳转
this. r o u t e r . p u s h ( ) t h i s . router.push() this. router.push()this.router.replace()
this. r o u t e r . b a c k ( ) t h i s router.back() this router.back()thisrouter.go(-1)

动态传参 — 命名路由

this. r o u t e r . p u s h ( ′ / d e t a i l / ′ + i d ) t h i s . router.push('/detail/' + id) this. router.push(′/detail/′+id)this.router.push({name: ‘detail’, params: {id:id}})
this.$router.push({path: ‘/detail’ + id})

路由的模式 hash history

导航守卫
beforeEach
beforeEnter
beforeRouteEnter
beforeRouteUpdate
beforeRouteLeave

过渡效果

.slide-enter .slide-enter-active .slide-enter-to
.slide-leave .slide-leave-active .slide-leave-to

路由的懒加载
() => import()

离开页面返回还在原位置

14、vue中的内容分发-插槽

内容分发 – slot — 提高组件的复用性 — 耦合度 ---- UI

15、vue中的组件间传值

父子组件的传值

子父组件的传值

非父子组件的传值 — 兄弟组件间传值

状态管理器

16、vuex状态管理器的使用

单向数据流

state getters actions mutations

mapState mapGetters mapActions

this. s t o r e . d i s p a t c h ( ′ ′ ) t h i s . store.dispatch('') this. store.dispatch(′′)this.store.commit(’’, data)

登陆状态 + 购物车状态

17、使用git多人协作步骤

git init
git status
git add .
git commit -m ‘’
git push origin master

git remote origin ********

git config ----- name / email

ssh

git checkout -b **dev
git checkout -b **bug

git checkout master

git merge **dev

git pull origin **dev

git clone ***

18、服务器相关

项目上线
nginx 服务器 ---- 修改nginx的配置
搭建自己的服务器 — node — mongodb — 静态文件目录public ---- nginx反向代理去掉端口号

使用nodejs编写静态服务器相关推荐

  1. nodejs如何实现ajax,nodejs使用静态服务器处理ajax

    如需转载请注明来源与作者 上一次,手写了一个静态服务器.这次我们想更进一步:返回给前端ajax数据.注意:这里只是一个演示,所以所有ajax传入服务器的数据,我不会经过处理直接返回 文件夹 Tips ...

  2. svn服务器搭建和使用_简单使用nodejs搭建一个静态服务器

    前提:系统安装nodejs 搭建步骤 使用nodejs搭建服务器,简单的来说可以分为三步: require相应的模块 创建服务器 配置端口 启动服务器 必要的nodejs模块 以下模块都是以 var ...

  3. node.js request get 请求怎么拿到返回的数据_从零开始用nodejs写一个简单的静态服务器

    nodejs搭建服务器第一步 const http = require("http")const PORT = 8000 const server = http.createSer ...

  4. Nodejs实现的一个静态服务器例子

    参考cnodejs.org上面的静态服务器例子,写了下面的一个nodejs静态服务器例子,里面包含cache,压缩,贴代码如下 /** * 静态文件服务器测试例子 * User: xuwm * Dat ...

  5. 构建静态服务器_为静态网站构建无服务器联系表

    构建静态服务器 介绍 (Introduction) A few years ago AWS launched static hosting service S3, which was a paradi ...

  6. 502无法解析服务器标头_编写下载服务器。 第三部分:标头:内容长度和范围...

    502无法解析服务器标头 这次,我们将探索更多HTTP请求和响应标头,以改善下载服务器的实现: Content-length和Range . 前者表示下载量很大,后者允许部分下载文件,或者从我们开始的 ...

  7. 编写下载服务器。 第三部分:标头:内容长度和范围

    这次,我们将探索更多的HTTP请求和响应标头,以改善下载服务器的实现: Content-length和Range . 前者表示下载量很大,后者允许部分下载文件或在我们开始时失败后继续下载. Conte ...

  8. nodejs 调用微服务器_无服务器NodeJS:构建下一个微服务的快速,廉价方法

    nodejs 调用微服务器 by Filipe Tavares 由Filipe Tavares 无服务器NodeJS:构建下一个微服务的快速,廉价方法 (Serverless NodeJS: the ...

  9. 替换 Nginx 使用 Caddy 作为博客静态服务器

    替换 Nginx 使用 Caddy 作为博客静态服务器 其实早在一两年前就关注到 Caddy 了,这两年博客一直没更新,没有折腾,也不敢太冒然的使用到公司的生产服务器上,就一直没有尝试.趁这次将博客迁 ...

最新文章

  1. 独家 | SVP:一种用于深度学习的高效数据选择方法
  2. 知乎热议:高数、线代应该成为计算机专业学习的重心吗?
  3. 李开复谏言学生转学Android软件开发
  4. C#正则表达式开源工具
  5. mysql常用命令整理
  6. android 栈溢出 检查,安卓源码编译完成后打包时出现栈溢出,求大家解决
  7. 动态规划_01背包问题_Java实现
  8. Java学习笔记(五)——数组
  9. python下载网易云音乐付费歌曲有哪些_Python3批量下载网易云音乐热歌榜
  10. 纯CSS3绘制的小猫笑脸动画
  11. 【尚学堂】IO流精讲,必学的Java基础
  12. 暑期2020“大咖说开源” | 陈莉君:Linux从入门到深入内核有多远
  13. 欧几里得变换(Euclidean transformation)详解
  14. __ratelimit: XXX callbacks suppressed
  15. 三维扫描仪的数据化时代
  16. 怎样通过其他下载工具下载某盘文件
  17. Java 优秀博主 (合集)
  18. bs4爬虫:获取双色球中奖信息
  19. WXS脚本之WXS语法
  20. TensorFlow CRNN

热门文章

  1. 程序员如何赚点小钱?
  2. Ubuntu20.04 外接音响播放音频时出现杂音或滋滋滋电流声解决方法
  3. 2009年度沪销售TOP20 各大品牌房企名列前茅
  4. SQL进行特殊符号的替换
  5. Minecraft 1.16.5模组开发(五十一) 方块实体 (Tile Entity)
  6. 战神Z7-kp7gt+gtx1060+cuda8.0安装
  7. 蓝桥杯2013年第四届真题-格子刷油漆
  8. python怎么表达我喜欢你的句子_表达我喜欢你的爱情句子
  9. 国金公链发布国金特权链,打造区块链+数据价值多场景应用生态
  10. “本手、妙手、俗手”,这个高考作文我给120分(看在字多和图文并茂的份上)