前端工程化开发(一)
认识 Node.js
node.js 是什么呐???
- node.js 是基于我们的谷歌 V8 javascript 引擎运行环境
- Node 程序的话使用的是由:
C/C++/JS共同进行书写完成构建的也就是说我们的 Node.js 基于 V8 引擎用来实现执行 Javascript 的代码,但是实际上的话,不仅仅含有 V8 引擎
V8 引擎可以实现的将我们的 V8 引擎实现嵌入式开发进入任何的 C++ 应用程序中
无论是我们的谷歌浏览器还是其他的浏览器的运行环境,还是我们的 NodeJs ,其中最直观的实现就是实现我们的执行 JavaScript 代码的运行环境
但是不同的是我们的浏览器不仅仅可以实现执行 JavaScript 代码,同时还可以利用其浏览器的渲染原理,来实现我们的
- 解析、渲染HTML文档、CSS等相关的作用
- 另外浏览器还可以实现支持的是提供一些用来前端 web 端开发的一系列的 API,以及浏览器自身的事件循环的操作
但是我们的 NodeJs 的话为我们的JavaScript 代码也是提供了一些其他的 API 的
- 文件的读写操作模式
- 网络IO、加密、压缩解压文件的操作等等
浏览器架构和NodeJs 架构的区别
浏览器架构不仅仅需要对我们的 HTML 和 CSS 进行对应的解析,同时遇到了 JavaScript 代码后就需要执行的是交给 V8
- 引擎进行解析 JavaScript 代码
NodeJS 架构模型的是,只是简单的只用对 JavaScript 代码进行解析操作
Node.js 的使用场景
- 是前端工程化开发的包管理工具
- 利用包管理工具来实现我们的管理项目依赖
- 使用 NodeJs 开发 web 服务器,中间件开发以及代理服务器的开发
- 使用我们的 NodeJs 实现前后端项目的同构
- 为自己的前端项目编写一些脚本工具(JavaScript + Python + Shell 都是我们的脚本语言)
- 使用 Electron 开发桌面端应用
- 前端工程师面试必备项
NodeJs 的版本工具管理
我们在实际的开发中,我们是可以使用工具来实现自动的切换我们的 Node 版本的,就是我们的
nvm来实现切换 Node 版本
- nvm —— node version manage
在 mac 电脑中我们可以进行管理的我们的包管理工具有:
n/nvm但是在我们的 windows 电脑中的管理 Node 的版本只有:
nvm常用的命令含有
nvm install latest实现的是安装我们的最新的版本nvm list进行查看我们的本机电脑已经安装的 Node 版本信息nvm use 版本号实现的是我们的切换我们的 Node 版本nvm list available查看可以使用的 Node 版本信息
使用Node 执行我们的JS 文件
node JS文件名实现我们最后的执行 JS 文件
node JS文件 参数一 参数二实现的是通过我们的执行 JS 程序,并且进行传递参数的形式
- JS 程序中通过我们的
process.argv来获取 node 命令行中传递的参数值,是一个数组argv全称是:argument vector就是我们的参数向量
Node 的全局对象
我们的浏览器中的全局对象是我们的 window ,window 中的属性或者方法,我们都是可以直接调用的
这个时候,我们的 Node 环境中也是具有全局对象 global 的 ,global 中的属性和方法我们也是可以直接使用的
__dirname当前文件所在的目录结构__filename当前文件所在的目录结构 + 自身文件名console.log(__dirname) // C:\Users\76433水逆信封\Desktop\front-practice\js console.log(__filename) // C:\Users\76433水逆信封\Desktop\front-practice\js\demo.js- NodeJS 中文文档阅读