Node 第 2 天笔记
Node 第 2 天1. 学习目标◆ 能够使用 http 模块写一个基本的 web 服务器
◆ 能够说出模块化的好处
◆ 能够知道 CommonJS 规定了哪些内容
◆ 能够说出 Node.js 中模块的三大分类各自是什么
◆ 能够使用 npm 管理包
2. http 模块2.1 什么是 http 模块
http 模块是 Node.js 官方提供的、用来创建 web 服务器的模块。通过 http 模块提供的 http.createServer() 方法,就能方便的把一台普通的电脑,变成一台 Web 服务器,从而对外提供 Web 资源服务
如果要希望使用 http 模块创建 Web 服务器,则需要先导入它
const http = require('http')
2.2 进一步理解 http 模块的作用
服务器和普通电脑的区别在于,服务器上安装了 web 服务器软件
例如:IIS、Apache 等。通过安装这些服务器软件,就能把一台普通的电脑变成一台 web 服务器
在 Node.js 中,我们不需要使用 IIS、Apach ...
Node.js事件循环与多线程
nodejs事件循环与多进程why
事件循环对于深入理解nodejs异步至关重要
fs, net,http,events
事件循环是企业面试中的最高频考题之一
能驾驭nodejs多进程是一名资深前端工程师的标志
课程介绍
了解事件循环的概念
学习浏览器中的事件循环机制
学习nodejs中的事件循环机制
了解多进程,多线程之间的区别
学习nodejs中的多进程并使用cluster来开启多进程
学习目标
深入掌握浏览器与nodejs中的事件循环机制,并且能理解它们之间的区别
使用cluster开启多进程
第一章 事件循环介绍浏览器中的事件循环为了协调事件(event),用户交互(user interaction),脚本(script),渲染(rendering),网络(networking)等,用户代理(user agent)必须使用事件循环(event loops)。
To coordinate events, user interaction, scripts, rendering, networking, and so forth, user agents must u ...
Node.js 网络通信
Node.js 网络通信Node 是一个面向网络而生的平台,它具有事件驱动、无阻塞、单线程等特性,具备良好的可伸缩性,使得它十分轻量,适合在分布式网络中扮演各种各样的角色。同时 Node 提供的 API 十分贴合网络,适合用它基础的 API 构建灵活的网络服务。本课程的内容就是给大家介绍 Node 在网络通信编程方面的具体能力。
利用 Node 可以十分方便的搭建网络服务器。在 Web 领域,大多数的编程语言需要专门的 Web 服务器作为容器,如 ASP、ASP.NET 需要 IIS 作为服务器,PHP 需要打在 Apache 或 Nginx 环境等,JSP 需要 Tomcat 服务器等。但对于 Node 而言,只需要几行代码即可构建服务器,无需额外的容器。
Node 提供了 net、dgram、http、https 这4个模块,分别用于处理 TCP、UDP、HTTP、HTTPS,适用于服务器端和客户端。
第1章 网络通信相关概念我们每天使用互联网,你是否想过,它是如何实现的?
全世界几十亿台电脑,连接在一起,两两通信。上海的某一块网卡送出信号,洛杉矶的另一块网卡居然就收到了,两者实际 ...
web应用开发框架
web应用开发框架内容简介
koa入门与使用
egg介绍以及实战
adonis简介
学习目标
掌握nodejs后端开发思想
掌握koa基本使用以及其生态
能使用egg开发实际项目
第一章 koa入门与使用
简介Koa 是一个新的 web 框架,由 Express 幕后的原班人马打造, 致力于成为 web 应用和 API 开发领域中的一个更小、更富有表现力、更健壮的基石。 通过利用 async 函数,Koa 帮你丢弃回调函数,并有力地增强错误处理。 Koa 并没有捆绑任何中间件, 而是提供了一套优雅的方法,帮助您快速而愉快地编写服务端应用程序。
新
下一代, 超前
新的语法, es7
优雅
安装Koa 依赖 node v7.6.0 或 ES2015及更高版本和 async 方法支持.
你可以使用自己喜欢的版本管理器快速安装支持的 node 版本:
$ nvm install 7$ npm i koa
基本用法1.架设http服务只要三行代码,就可以用 Koa 架设一个 HTTP 服务。
const Koa = require('koa');const app ...
SASS语法
1. 使用变量sass让人们受益的一个重要特性就是它为css引入了变量。你可以把反复使用的css属性值 定义成变量,然后通过变量名来引用它们,而无需重复书写这一属性值。或者,对于仅使用过一 次的属性值,你可以赋予其一个易懂的变量名,让人一眼就知道这个属性值的用途。
sass使用$符号来标识变量(老版本的sass使用!来标识变量。改成$是多半因为!highlight-color看起来太丑了。),比如$highlight-color和$sidebar-width。为什么选择$ 符号呢?因为它好认、更具美感,且在CSS中并无他用,不会导致与现存或未来的css语法冲突。
1-1. 变量声明sass变量的声明和css属性的声明很像:
$highlight-color: #F90
这意味着变量$highlight-color现在的值是#F90。任何可以用作css属性值的赋值都 可以用作sass的变量值,甚至是以空格分割的多个属性值,如$basic-border: 1px solid black;,或以逗号分割的多个属性值,如$plain-font: "Myriad Pro"、 ...
SASS简介
SASS:
引言
众所周知css并不能算是一们真正意义上的“编程”语言,它本身无法未完成像其它编程语言一样的嵌套、继承、设置变量等工作。为了解决css的不足,开发者们想到了编写一种对css进行预处理的“中间语言”,可以实现一些“编程”语言才有的功能,然后自动编译成css供浏览识别,这样既一定程度上弥补了css的不足,也无需一种新的语言来代替css以供浏览器识别。于是css预处理语言SASS就应运而生了。
关于sass
sass是最早的css预处理语言,有比less更为强大的功能。但因其一开始的缩进式语法并不能被开发者们接受,所以使用率不高,不过由于其强大的功能和Ruby on Rails 的大力推动,逐渐被更多开发者使用。
sass是采用的Ruby语言编写的一款css预处理语言,它诞生于2007年,是最早成熟css预处理语言。最初它是为了配合haml而设计的,因此有着和haml一样的缩进式风格。
sass从第三代开始,放弃了缩进式风格,并且完全向下兼容普通的css代码,这一代的sass也被称为scss。
中文文档:Sass世界上最成熟、稳定和强大的CSS扩展语言 | Sass中文网
...
Next.js服务器端渲染
Next.js服务器端渲染学习目标
了解Next.js的作用
掌握Next.js中的路由
掌握Next.js中布局组件的创建
掌握Next.js中的静态文件服务
掌握Next.js中获取页面数据的方法
掌握Next.js中组件样式的书写
使用Next.js完成豆瓣电影案例
能够自定义头部元素head
2.1 什么是Next.js?Next.js官网
Next.js是一个基于React的一个服务端渲染简约框架。它使用React语法,可以很好的实现代码的模块化,有利于代码的开发和维护。
Next.js带来了很多好的特性:
默认服务端渲染模式,以文件系统为基础的客户端路由
代码自动分割使页面加载更快
以webpack的热替换(HMR)为基础的开发环境
使用React的JSX和ES6的module,模块化和维护更方便
可以运行在Express和其他Node.js的HTTP 服务器上
可以定制化专属的babel和webpack配置
使用服务器端渲染好处:
对SEO友好
提升在手机及低功耗设备上的性能
快速显示首页
2.2 Next.js初体验mkdir hello-nextcd he ...
Vue后台电商管理项目
一、项目简介1、后台管理系统的功能划分电商后台管理系统用于管理用户账号、商品分类、商品信息、订单、数据统计等业务功能。
2、后台管理系统的开发模式(前后端分离)
前后端分离之后,开发流程将如下图所示。
在开发期间前后端共同商定好数据接口的交互形式和数据格式。然后实现前后端的并行开发,其中前端工程师再开发完成之后可以独自进行mock测试,而后端也可以使用接口测试平台进行接口自测,然后前后端一起进行功能联调并校验格式,最终进行自动化测试
3、电商后台管理系统的技术选型
前端项目技术栈
Vue
Vue-router
Element-UI
Axios
Echarts
后端项目技术栈
Node.js
Express
Jwt
Mysql
Sequelize
二、登录/退出功能1、登录业务流程① 在登录页面输入用户名和密码
② 调用后台接口进行验证
③ 通过验证之后,根据后台的响应状态跳转到项目主页
2、登录业务的相关技术点http 是无状态的,怎样记录用户的登录状态?
通过 cookie 在客户端记录状态
通过 session 在服务器端记录状 ...
Nuxt.js服务器端渲染
1. Nuxt.js服务器端渲染学习目标
了解Nuxt.js的作用
掌握Nuxt.js中的路由
掌握layouts、pages以及components的区别
能够在Nuxt.js项目中使用element-ui
掌握Nuxt.js中异步获取数据的方式
完成豆瓣电影小案例
掌握SEO的优化
1.1 Nuxt.js入门1.1.1 什么是Nuxt.jsVue服务端渲染官网
Nuxt.js官网
Nuxt.js 是一个基于 Vue.js 的通用应用框架。
1.1.2 第一个Nuxt应用程序npm i create-nuxt-app -gcreate-nuxt-app my-nuxt-democd my-nuxt-demonpm run dev
1.1.3 文件结构分析└─my-nuxt-demo ├─.nuxt // Nuxt自动生成,临时的用于编辑的文件,build ├─assets // 用于组织未编译的静态资源如LESS、SASS或JavaScript,对于不需要通过 Webpack 处理的静态资源文件,可以放置在 static ...
uni-app基本使用
uni-app的基本使用基础部分:
环境搭建
页面外观配置
数据绑定
uni-app的生命周期
组件的使用
uni-app中样式学习
在uni-app中使用字体图标和开启scss
条件注释跨端兼容
uni中的事件
导航跳转
组件创建和通讯,及组件的生命周期
uni-app中使用uni-ui库
项目:黑马商城项目
uni-app介绍 官方网页uni-app 是一个使用 Vue.js 开发所有前端应用的框架,开发者编写一套代码,可发布到iOS、Android、H5、以及各种小程序(微信/支付宝/百度/头条/QQ/钉钉)等多个平台。
即使不跨端,uni-app同时也是更好的小程序开发框架。
具有vue和微信小程序的开发经验,可快速上手uni-app
为什么要去学习uni-app?
相对开发者来说,减少了学习成本,因为只学会uni-app之后,即可开发出iOS、Android、H5、以及各种小程序的应用,不需要再去学习开发其他应用的框架,相对公司而言,也大大减少了开发成本。
环境搭建安装编辑器HbuilderX 下载地址
HBuilderX是通用的前端开发工具,但为uni-app做了特别 ...
webpack从入门到进阶
webpack从入门到进阶第1章 课程介绍学什么
webpack官网
本质上,webpack 是一个现代 JavaScript 应用程序的*静态模块打包器(module bundler)。当 webpack 处理应用程序时,它会递归地构建一个依赖关系图(dependency graph)*,其中包含应用程序需要的每个模块,然后将所有这些模块打包成一个或多个 bundle。
代码转译
模块合并
混淆压缩
代码分割
自动刷新
代码校验
自动部署
课程安排
webpack基础配置
webpack高级配置
webpack性能优化
tapable钩子
AST抽象语法树的应用
webpack原理分析, 手写webpack
手写常见的loader和plugin
学习前提
JS基础
ES6 / ES7 语法
node基础
npm的基本使用
课程目标
掌握webpack的安装
掌握webpack的基础配置
掌握loader的配置
掌握plugin的配置
了解webpack性能优化
了解webpack中的tapable
了解AST的应用
深入学习webpack原理,手写webpack
第 ...
webpack基础
Webpack铺垫(自学)yarn包管理器(必须)快速、可靠、安全的依赖管理工具。和 npm 类似, 都是包管理工具, 可以用于下载包, 就是比npm快
中文官网地址: https://yarn.bootcss.com/
下载yarn下载地址: https://yarn.bootcss.com/docs/install/#windows-stable
windows - 软件包(在笔记文件夹里)
mac - 通过homebrew安装(看上面地址里)
mac如果没安装过homeBrew先运行这个命令
/usr/bin/ruby -e "$(curl -fsSL http://cdn.jsdelivr.net/gh/ineo6/homebrew-install/install)"
上面命令不行: 试试这个: curl -o- -L https://yarnpkg.com/install.sh | bash (直接安装yarn)
不要安到带中文的路径下, 建议在C盘/
使用yarn与npm类似, 可以试试, 新建一个空白文件夹, 执行以下命令尝试一下
...