Node.js

  • Node.js简介
  • Node.js可以理解成:
  • 安装
  • Node.js组件
  • npm 概念
  • webpack 概念


Node.js简介

java和node互通的aes加解密_运行环境


谷歌Chrome的V8引擎执行JavaScript的速度非常快,性能非常好。于是开始有人在其基础上构建系统。2009年2月,Ryan Dahl在博客上宣布准备基于V8创建一个轻量级的Web服务器并提供一套库。这就是著名的Node.js,它采用事件驱动,采用主流NIO非阻塞I/O 模型,从而得以轻量和高效,非常适合在分布式设备上运行数据密集型的实时应用。

Node.js可以理解成:

Node.js不是一种语言;不是框架;也不是工具。它是基于 Chrome V8 引擎的 JavaScript 运行环境

与JAVA中的JRE类似,Node.js有一个称为JavaScript Virtual Machine(JsVM)的虚拟机。它为基于JavaScript的应用程序生成机器代码,以便在不同的平台上启用它。

JavaScript Virtual Machine就是V8,来自Google的开源JavaScript引擎。与Java Virtual Machine(JVM)一样,JsVM(V8引擎)也有主要组件,如JIT和GC,分别用于执行任务,运行时编译,和内存管理。

Node.js还有一系列库,它们可能被称为Node API或Node Modules,用于帮助在运行时运行JavaScript应用程序,类似于JRE中的Java类库。我们对不同的平台,如Windows,Macintosh和Linux,以及JsVM有不同的Node.js要求。

现在,让我们试试理解JavaScript程序是如何编译和执行的。源代码是用JavaScript(.js)编写的。在将其提供给JsVM(V8引擎)之前,没有生成中间代码。JsVM直接获取此源代码并将其编译为特定于给定目标平台的机器代码以便执行。

总结: Node.js是基于 Chrome V8 引擎的 JavaScript 运行环境,里面包含 V8引擎,以及 ES6 标准库和
Js 库。组成和 JAVA中的JRE一样。

运行环境

我们知道Java需要一个称为JRE的运行时环境来运行Java程序。JRE有一个称为Java Virtual Machine(JVM)的虚拟机。JVM有许多组件,如垃圾回收器(GC),即时(JIT)编译器,解释器,类装载器,线程管理器,异常处理器,用于在不同时间执行不同的任务。

除了JVM之外,JRE还有一系列的库(jar包)来帮助运行时的Java程序。我们有单独的JRE用于不同的平台,如Windows,Macintosh和Linux,以及还有JVM。

好吧,就试着记住如何编译和执行一个Java程序。我们有源代码(.java),它由Java编译器编译成一个名为Bytecode(.class)的中间代码。此Bytecode被提供给JVM以便在给定的目标平台上执行。JVM在执行之前将Bytecode转换为特定于目标平台的机器码。

安装

下载连接:

https://nodejs.org/en/ #官网连接
https://npm.taobao.org/mirrors/node/v10.0.0/ #淘宝镜像链接

暂时不要太高版本,已经发现和Vue兼容不好。

Windows下非常好安装,一路NEXT即可。注意:鼠标右键以管理员身份运行!

node-v8.11.3-x64.msi

java和node互通的aes加解密_Java_02


查看安装路径

通过dos命令,查找nodejs安装的位置(有返回地址即安装成功):

java和node互通的aes加解密_运行环境_03

Node.js组件

npm 概念

java和node互通的aes加解密_jvm_04


npm(node package manager):nodejs的包管理器,用于node插件管理(包括安装、卸载、管理依赖等)

npm 为你和你的团队打开了连接整个 JavaScript 世界的一扇大门。它是世界上最大的软件注册表,每星期大约有 30 亿次的下载量,包含超过 600000 个 包(package) (即,代码模块)。来自各大洲的开源软件开发者使用 npm 互相分享和借鉴。包的结构使您能够轻松跟踪依赖项和版本。

官网地址:

https://docs.npmjs.com 英文官网
https://www.npmjs.cn/ 中文官网

webpack 概念

java和node互通的aes加解密_Java_05


Webpack是前端自动化构建工具,它基于nodejs实现,可以帮助我们实现资源的合并、打包、压缩、混淆的诸多功能。可以快速构建一个Vue项目,包括各类文件(assets资源、scripts脚本、images图片、styles样式)。

官网地址:

https://webpack.js.org/ 英文官网

java和node互通的aes加解密_jvm_06


执行:webpack命令,它会自动调用webpack.config.js按配置进行“编译”,类似javac.exe。

java和node互通的aes加解密_java和node互通的aes加解密_07