# node.js在前端的作用介绍
node.js颠覆了前端开发
接手后端工程师服务端的UI层 Server UI Layer(UI,User Interaction)
在以前,前后端开发不分离的情况下,JAVA中区分 Action层, Service层,modal层和Dao层。其中 Action层就相当于 Server UI层,接口如何调用,都由后端UI层负责,是属于后端开发人员的工作范畴。
Node.js岀现使得前后端完全分离模式更好实现,服务端UI层的工作逐渐转向前端负责,后端只需要提供类似 Restful的接口,前端来决定如何调用,何时使用。
前端开发质变
代替浏览器端,提供运行环境;自动化开发,自动化测试等,较大的提升前端开发效率。前端开发人员还可以写后端服务,开发APP、桌面应用,趋向全栈。
# node.js简单了解
特点:
- 单线程,循环事件进行异步回调,异步IO;
- 可实现对高并发的高性能处理
- 知乎上关于node.js优劣的讨论
适用场景:
- 中间层微服务(express、koa)
- Restful API
- 即时通讯、实时聊天、如
socket.io
- 客户端逻辑强大的APP,如配合electron开发桌面端应用
- Javascript全栈开发,如MEAN(MongoDB+Express+AngularJS+Node.js)
# npm模块了解
包管理器,类似Java中的Maven。
npm镜像管理:
可以用npm config set registry URL
来切换镜像源。
可以使用nrm,相关命令:
- 查看可选源:
npm ls
- 切换源:
npm use taobao
- 增加源:
npm add registry URL
- 删除源:
npm del <registry>
- 测试相应源的响应时间:
npm test npm
npm版本管理:
使用npm view vue versions
命令查看版本号,并可以指定下载相应版本,如:npm install vue@2.6.12
。查看当前工程信息npm info
# package.json
main字段为入口文件。
# 开发自己的npm模块
需要在npm官网进行注册,之后可以在本地进行开发与发布。
# 初始化
npm init
# 登录
npm login
# 发布
npm publish
1
2
3
4
5
6
2
3
4
5
6
# 介绍如何编写测试,自动化测试
为什么需要测试?保证质量,追踪错误。
- TDD(测试驱动开发)
- BDD(行为驱动开发)
测试框架(测试工具):karma、jasmine、mocha(mocha中文网)等
断言库类型常用有:should.js、chai、assert
自动化测试工具:gulp