介绍与功能

  • Node.js是一个基于Chrome V8引擎的JavaScript运行环境。
  • Nodejs 使用了一个事件驱动、非阻塞式I/O的模型,使其轻量又高效。
  • Node.js的包管理器npm,是全球最大的开源库生态系统。
  • Node.js 可以解析JS代码(没有浏览器安全级别的限制)提供很多系统级别的API,如:
    • 文件的读写
    • 进程的管理
    • 网络通信

官网

特点

  • 事件驱动
  • 非阻塞IO模型(异步)
  • 轻量和高效

微服务:把一个大功能拆分成各种小功能,使得就算有功能崩溃,也不会影响到其他功能

应用场景

一线企业

Nodejs-01 基本介绍 - 图1

  • 整个流程可以描述为︰客户端直接请求到中间层的Node服务,Node服务分析请求,看需要哪个页面,再去请求对应数据,拿到数据后和模版结合成用户看到页面,再给到客户端。
  • 那么有的人可能会觉得,这种模式不是更麻烦了吗?其实不然,我们来看看中间层的优点
    • 减轻客户端内存,项目用户体验好。不会像mvvm模式的项目把页面渲染和数据请求都压在客户端,而是在服务端完成。
    • SEO性好,不像mvvm模式页面由js生成,而是在服务器渲染好html字符,有利于网页被搜索到。
    • 保持了前后端分离的优点和目的,即解放后端,后端可以继续以接口的形式写业务代码。
    • 前端可以操控的范围增多,甚至可以做服务器,数据库层面的优化,比如中间层中常常用nginx ,redis来优化项目,应对高并发。
  • 中间层模式是一种开发模式上的进步,为什么这么好的模式平常很少听说过呢﹖因为这种模式成本过高,如果没有一定量级的项目没必要去采用。

    个人

    做为项目构建工具

    这里说的项目构建工具,我相信大家都用过,我们的webpack , vue-cli都是输入项目构建工具。那么大家觉得这一类工具神奇好用方便的同时,有没有想过这些工具是拿什么语言写的?其实它们并不难,这些工具都是用Node来写的。
    很多公司都会开发自己公司的项目构建工具,帮助公司项目做的更标准更方便,一个好的项目构建工具,会极大的加快整个公司的项目开发效率。
    这一类的项目构建工具一般都要很多的文件操作,Node对于i/o流的操作,在目前的主流后端语言中数一数二。所以越来越多的公司选择用Node来做项目构建工具。
    比如Vue Cli

    做为小型网站后端

    用Node做后端,可能是大多数人认为的Node作用。其实真正在企业之中,很少会让你去用Node去做后端。所以一般来说都是做一些小型或者个人站的后端。

    下载安装

    方式1:官网

    https://nodejs.org/zh-cn/
    选择对应的版本下载安装即可

    nodemon 监听文件变化

    在终端中任意路径执行以下命令安装全局 nodemon:

    1. npm i nodemon -g

    找到 package.json 文件,添加一个启动命令:

    1. {
    2. "scripts": {
    3. "start": "node ./bin/www",
    4. "dev": "nodemon ./bin/www"
    5. },
    6. }

    配置完成后,我们的项目就有了两个启动命令:

  • npm start:不会自动重启,代码修改后需要手动关闭服务器再重启

  • npm run dev:当代码每次被保存时,服务器都会自动重启

    简单编写和运行

    1、通过终端工具

    输入node,可以进行跨域请求、操作文件等
    1. node 文件名

    2、谷歌浏览器F12

    直接编写,但是收到浏览器局限,不能操作文件等,但是也有一些浏览器对象是终端没有的