美文网首页javascript
为什么前端要使用Node开发

为什么前端要使用Node开发

作者: super_wei | 来源:发表于2019-02-05 10:15 被阅读611次

前不久和一个.net同事吃火锅,临近结束提到了前端的技术框架,这位同事也会前端,但是在他印象里前端似乎依旧是传统的运行于浏览器进行开发;任凭我怎么说,前端已经是通过node进行开发并且现在各大公司已经很基本的大规模使用了,他依旧不信或者说不能够理解node开发在前端的意义, 于是乎我想整理一篇文章告诉他,前端是怎么使用node开发的;

一、传统的JavaScript

传统的js是运行在浏览器上的,因为浏览器内核分为两个部分:

渲染引擎---复制渲染HTML和CSS,

 JavaScript 引擎---负责运行 JavaScript, Chrome 使用的 JavaScript 引擎是 V8,它的速度非常快且性能好。

二、什么是Node.js?

官网上对其特点描述为:

1. 它是一个Javascript运行环境

2. 依赖于Chrome V8引擎进行代码解释

3. 事件驱动

4. 非阻塞I/O

5. 轻量、可伸缩,适于实时数据交互应用

6. 单进程,单线程

相对于传统的JavaScript来说,Node.js 是一个运行在服务端的框架,它的底层就使用了 V8 引擎。我们知道 Apache + PHP 以及 Java 的 Servlet 都可以用来开发动态网页,Node.js 的作用与他们类似,只不过是使用 JavaScript 来开发,它大大提升了开发的性能以及便利。使用node开发还可以使用配套的npm包管理工具:

NPM是随同NodeJS一起安装的包管理工具,能解决NodeJS代码部署上的很多问题,常见的使用场景有以下几种:

允许用户从NPM服务器下载别人编写的第三方包到本地使用。

允许用户从NPM服务器下载并安装别人编写的命令行程序到本地使用。

允许用户将自己编写的包或命令行程序上传到NPM服务器供别人使用。

因为node本身就是一个服务端的框架,对于一些简单的项目,我们可以不需要后端配合,直接用node进行数据库的增删改查,比如下面的代码就是通过使用express进行开发的:

通过配置接口我就可以实现原来需要后端配合做的事情了,大大方便了我们对一些简单场景下的应用;

三、Node开发的缺陷:

虽然node开发已经能够给我们带来非常棒的体验,那么它存在什么样的先天不足呢,下面是从网上查找的资料:

1. 不适合CPU密集型应用;CPU密集型应用给Node带来的挑战主要是:由于JavaScript单线程的原因,如果有长时间运行的计算(比如大循环),将会导致CPU时间片不能释放,使得后续I/O无法发起;

解决方案:分解大型运算任务为多个小任务,使得运算能够适时释放,不阻塞I/O调用的发起;

2. 只支持单核CPU,不能充分利用CPU

3. 可靠性低,一旦代码某个环节崩溃,整个系统都崩溃

原因:单进程,单线程

解决方案:(1)Nnigx反向代理,负载均衡,开多个进程,绑定多个端口;

(2)开多个进程监听同一个端口,使用cluster模块;

4. 开源组件库质量参差不齐,更新快,向下不兼容

5. Debug不方便,错误没有stack trace


今天是大年初一,对于今年的规划当然是希望有机会进入一个非常棒的团队学习;大楼之下,我自知渺小,顶峰虽然唾手不可及,也要努力加油!

相关文章

  • Nodejs知识点

    Nodejs基础部分 为什么要学习Node? Node使用Js语法去开发后端应用 一些公司要求前端掌握Node开发...

  • 新手vue环境搭建及vue项目创建

    1.使用vue来开发前端框架,首先要有环境,这个环境要借助于node,所以要先安装node,借助于node里面的n...

  • 项目笔记/配置/jwt/isdangerous

    前端文件开发预览 可以使用前端node.js 提供的服务器live-server作为前端开发服务器使用。安装nod...

  • Node全栈技术开发介绍

    Node全栈技术开发介绍 node和js介绍 node服务端开发 node前端vuejs node前端reactj...

  • 为什么前端要使用Node开发

    前不久和一个.net同事吃火锅,临近结束提到了前端的技术框架,这位同事也会前端,但是在他印象里前端似乎依旧是传统的...

  • 2018-12-03

    以下均为我熟练使用的技能 Web开发:PHP/Node Web框架:ThinkPHP/CodeIgniter 前端...

  • 6分钟看懂 Node.js 武功精髓

    阅读大约需要6分钟。 1、为什么要学习Node.js?Node.js是目前非常火热的技术,可是作为一个前端开发人员...

  • Node NVM(版本管理器)+NRM(源管理器)

    NVM 目前前端开发环境主要为Node,有时不同项目可能使用的node版本不同。这种情况需要维护多个版本的Node...

  • 前端开发为什么要会node

    前不久和一个.net同事吃火锅,临近结束提到了前端的技术框架,这位同事也会前端,但是在他印象里前端似乎依旧是传统的...

  • gulp-ejs 如何通过外部 json 文件传值

    最近一个 node 项目里有这样的场景,为了前后端统一,前端开发的时候使用 ejs 模板开发,使用 gulp 进行...

网友评论

    本文标题:为什么前端要使用Node开发

    本文链接:https://www.haomeiwen.com/subject/ypamsqtx.html