zoukankan      html  css  js  c++  java
  • 前端和Nodejs的关系 简单理解

    前端使用JS脚本语言进行开发。

    JS脚本语言需要依赖一个平台运行,从而生成可视化的东西。

    Node.js提供这个平台,同时提供JS运行需要的一些插件、库、包、轮子、组件、功能等等。

    JavaScript是一门脚本语言,它需要一个运行环境。就好像PHP需要Apache,JSP需要Tomcat等等(例子不全面,仅供理解)…… 而NodeJS之前,JavaScript运行环境是浏览器,也就是JavaScript在网页中才能跑起来。NodeJS之后JavaScript又多了一个运行环境,就是NodeJS。

    由于NodeJS的最底层是Chrome的V8引擎,然后libuv封装了一些I/O的线程池管理和网络的I/O操作,这部分是C/C++写的。简单来说NodeJS可以控制系统文件的读写,网络的输入输出。所以NodeJS又可以被单纯的认为是一个可以运行 JavaScript 的服务器。(例子不全面,仅供理解)。

    这些工具的起源和诞生几乎浓缩了前端的发展历程,因为 NodeJS 可以读写文件,监听网络输入输出。所以 NodeJS 和 VueJS、ReactJS、AngularJS 有非常本质的区别。NodeJS 是可以运行 JavaScript 的环境,剩下三个是用 JavaScript 写的库。

    目前NodeJS大多被用于前端开发的开发环境。以Webpack作为例子,webpack是一个运行在 NodeJS 端的打包工具,它帮你把你写的 a.js, b.js, c.js ... 打包成一个 bundle.js。而这种打包的第一步是读取(文件读取能力)你的a.js, b.js, c.js ...,所以只能在 NodeJS 环境下做。

    NodeJS 还能做啥?

    用JS做服务器: Express / EggJS / HAPI / Koa 等等可以了解下

    用JS做移动端混合应用:PhoneGap / Cordova / Ionic 了解下

    用JS做移动端原生应用:React-Native / NativeScript / WEEX 了解下

  • 相关阅读:
    Binary Search Tree Iterator 解答
    Invert Binary Tree 解答
    Min Stack 解答
    Trapping Raining Water 解答
    Candy 解答
    Jump Game II 解答
    Implement Hash Map Using Primitive Types
    Gas Station 解答
    Bucket Sort
    HashMap 专题
  • 原文地址:https://www.cnblogs.com/panic404/p/12987286.html
Copyright © 2011-2022 走看看