目标:
上传文件、文件夹
给你三秒钟,思考下可能用到哪些知识点
前期准备
1.1 整体流程
1. index.js模块: 程序入口, 有服务器(server.js)和路由(route.js)和处理(handler.js)模块组成;
2. server.js模块: 专门处理不同路由, 并做相应的处理;
3. route.js模块: 请求的地址, 处理方法, 响应, 请求;
4. handler.js模块: 封装不同的方法,交由路由route.js模块来选择调用;
5. HTML文件: 存在HTML文件; 6. package.json模块: CommonJS规定的规范;
我想这个不同于理论的实践,会慢慢为接下来打下坚实的基础的。
1.2 模块包
formidable是一个用于处理文件、图片、视频等数据上传的模块,支持GB级上传数据处理,支持多种客户端数据提交。有极高的测试覆盖率,非常适合在生产环境中使用。
npm配置安装
npm install formidable@latest
util是一个Node.js核心模块,util模块设计的主要目的是为了满足Node内部API的需求。其中包括:格式化字符串、对象的序列化、实现对象继承等常用方法。要使用util模块中的方法,只需require('util')引入即可。
1.3 package.json文件
package.json:定义了这个项目所需要的各种模块,以及项目的配置信息(比如名称、版本、许可证等元数据)。npm install命令根据这个配置文件,自动下载所需的模块.
1. scripts指定了运行脚本命令的npm命令行缩写,比如start指定了运行npm run start时,所要执行的命令。
2. dependencies字段指定了项目运行所依赖的模块;
3. devDependencies指定项目开发所需要的模块。
指定版本:比如1.2.2,遵循“大版本.次要版本.小版本”的格式规定,安装时只安装指定版本。
波浪号(tilde)+指定版本:比如~1.2.2,表示安装1.2.x的最新版本(不低于1.2.2),但是不安装1.3.x,也就是说安装时不改变大版本号和次要版本号。
插入号(caret)+指定版本:比如ˆ1.2.2,表示安装1.x.x的最新版本(不低于1.2.2)