前端工程化开发(一)—— Node

195 阅读3分钟

前端工程化开发(一)

认识 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 代码进行解析操作

image-20241129215224630.png

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\jsconsole.log(__filename)  // C:\Users\76433水逆信封\Desktop\front-practice\js\demo.js
      
    • NodeJS 中文文档阅读