nestjs + vite

作者: 追梦人在路上不断追寻 | 来源:发表于2023-02-14 21:28 被阅读0次

NestJS

NestJS 是一个 Node.js 框架,用于构建高效且可扩展的企业服务器端应用程序。它支持 JavaScript 和 TypeScript 的所有最新 ECMAScript 版本。

NestJS 结合了众所周知的面向对象编程、函数式编程和函数式反应式编程的编程概念和哲学,可以解决可扩展、可维护、易于测试且不紧密耦合在一起的后端应用程序设计中的架构挑战。

尽管 NestJS 是平台独立的,并且如果为其编写了绑定,则可以与任何 Node.js 库一起使用,但 NestJS 默认使用 Express 作为依赖项,也可以配置为使用 Fastify。通过公开的 API 和其他第三方模块轻松配置框架,这使得开发人员可以很容易地根据具体情况自定义框架。

Vite

Vite是一个具有许多功能的构建工具,其中最主要的特点就是它极速的启动时间。它利用在浏览器中引入原生 ES 模块和使用编译为原生代码的语言编写的工具来解决与性能相关的先前构建工具webpack、Parcel 等构建速度慢的问题。

Vite 的工作原理是首先将应用程序中的模块分为两类,依赖项和源代码,因为依赖项在开发过程中很少更改。Vite在后台使用esbuild预先捆绑了这些依赖项。对于可能需要转换的源代码(CSS、JSX 等),Vite 通过原生 ESM 将它们提供给浏览器。

当浏览器发出对源代码的请求时,Vite 会按需转换和加载它们,并且浏览器可以使用基于路由的[代码拆分和条件动态导入]来捆绑所需的代码,从而使其成为一个非常快速的过程。

Esbuild

esbuild 是一个用 Go 编写的速度极快的 JavaScript 打包器,它利用了 Go 的并行性和将源代码转换为机器代码的能力。它的特点包括:

  • 更多的插件支持
  • 压缩功能强大
  • TypeScript 和 JSX 支持
  • ES2015 和 CommonJS 模块都支持
  • Tree-shaking功能
image.png

为什么可以这么快?

这是因为esbuild是使用Go语言来编写的,而在Go语言的核心是采取并行性且有内存管理的机制,所以esbuild可以充分利用CPU来大量使用并行及内存机制,另外一个原因是esbuild在开发时是采取全部自己撰写程序,无使用到 第三方模组,综合以上原因,所以 速度优化上 可以这么快!

创建项目

npm i -g @nestjs/cli
nest new nest_vite_esbuild_demo
npm run start

** 集成 vite到nestjs项目**

npm install vite vite - plugin - node - D

Vite插件的优势之一是我们可以选择使用 esbuild 或 swc 来编译我们的 TypeScript 文件.

image.png

相关文章

网友评论

    本文标题:nestjs + vite

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