如何使用node . js + Vue.js来构建文件压缩应用程序

  介绍

这篇文章将为大家详细讲解有关如何使用Node . js + Vue.js来构建文件压缩应用程序,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

Node . js为我们提供了一个模块来协助文件压缩。在本文中,我们将构建一个应用程序,用户可以在该应用程序中上传他们想要压缩的文件,然后使用节点。js Zlib模块下载该文件的压缩版本。

前提

要继续学习本教程,你需要具备以下条件:

<李>

熟悉HTML、CSS和Javascript (ES6 +)

<李>

VS代码或开发计算机上安装的任何代码编辑器

<李>

在你的开发机器上安装了邮差

<李>

Vue和节点。js的基础知识

设置项目

我们将从构建后端开始,这是我们应用程序的基础。

在桌面上,为应用程序创建一个文件夹,群殴取名为<代码>压缩机> npm init - y 设置一个新的节点。js项目。

我们先编写后端服务,所以在项目中再建立一个服务器<代码> 目录。

现在,我们需要为应用程序安装必要的软件包:

<李>

<强>高雅 <强> koa-router :这将有助于设置我们的服务器以及路由

<李>

<强> nodemon :当我们对应用程序进行更改时,nodemon将重新启动我们的服务器

<李>

<强>乘:用于上传文件的中间件

<李>

:<强>歌珥帮助将头添加到代理请求中

要安装所有这些,请在我们创建的服务器<代码> 目录中运行以下命令:

npm 小姐:,,节省koa  koa-router  nodemon  multer 歌珥

完成安装后,在服务器<代码> 目录内创建一个<代码>索引。js代码文件,这是我们将编写后端代码的地方。

使用VS代码打开文件夹。在开始之前,我们先创建一个<代码>。gitignore 文件,并向其中添加<代码> node_modules> node_modules 文件夹添加到git中。

让我们继续来创建一个简单的高雅。js服务器,然后配置我们的包:

const  express =,要求(& # 39;表达# 39;);   const  multer =,要求(& # 39;multer& # 39;);   const  zlib =,要求(& # 39;zlib # 39;);   const  cors =,要求(& # 39;歌珥# 39;);   const  fs =,要求(& # 39;fs # 39;);   const  path =,要求(& # 39;path & # 39;);   const  app =,表达();   app.use(歌珥());//乘   const  storage =, multer.memoryStorage ();   const  upload =,乘({   储存:才能,存储,   });      app.listen(3000年,(),=祝辞,{   console.log才能(& # 39;App  is  runnuing 提醒port  3000 & # 39;);   });

我们首先要求我们安装的包,如表达,乘和歌珥。然后,我们创建一个表达的实例,并将其保存在一个变量中。我们使用表达实例来配置我们的<代码>歌珥>

我们还需要一些节点。js的核心模块,比如<代码> zlib> 3000 端口。

接下来,我们将创建一个路,由该路由将接收一个文件,然后返回压缩文件。

zlib有很多压缩方法,但是在本文中,我们将使用gzip <代码> 方法。

app.post (“/compress",, upload.single (“file"), async (点播,res),=祝辞,{   try {才能   ,,,const  destination =,压缩/$ {req.file.originalname} . gz的;   ,,,let  fileBuffer =, req.file.buffer;   ,,,await  zlib.gzip (fileBuffer,,(呃,,响应),=祝辞,{   ,,,,,if  (err), {   ,,,,,,,console.log(错);   ,,,,,}   ,,,,,fs.writeFile (path.join (__dirname,,目的地),,,,(呃,,数据),=祝辞,{   ,,,,,,,if  (err), {   ,,,,,,,,,console.log(错);   ,,,,,,,}   ,,,,,,,res.download (path.join (__dirname,,目的地));   ,,,,,});   ,,,});   ,,},catch  (err), {   ,,,console.log(错);   ,,,res.json(错);   ,,}   });

我们定义<代码>/路压缩由,这是一个<代码> 后请求,然后在该路由中传递个乘中间件。我们的<代码>乘> fileBuffer>

为了进行测试,我们创建一个<代码>

如何使用node . js + Vue.js来构建文件压缩应用程序