package.json 知多少?

在 Node.js 中,模块是一个库或框架,也是一个 Node.js 项目。Node.js 项目遵循模块化的架构,当我们创建了一个 Node.js 项目,意味着创建了一个模块,这个模块必须有一个描述文件,即 package.json。它是我们最常见的配置文件,但是它里面的配置你真的有详细了解过吗?配置一个合理的 package.json 文件直接决定着我们项目的质量,本章就带大家了解下 package.json 的各项详细配置。

在 Node.js 中,模块是一个库或框架,也是一个 Node.js 项目。Node.js 项目遵循模块化的架构,当我们创建了一个 Node.js 项目,意味着创建了一个模块,这个模块必须有一个描述文件,即 package.json。它是我们最常见的配置文件,但是它里面的配置你真的有详细了解过吗?配置一个合理的 package.json 文件直接决定着我们项目的质量,本章就带大家了解下 package.json 的各项详细配置。
npm install 时偶尔遇到报错:没有安装 python 或 node-sass 安装失败的问题,百度之后发现是被墙了,但根据百度的方法换了淘宝镜像和用了 vpn 都安装失败,最后发现原来是因为没有卸载之前安装失败的包导致的。作者本人最后的解决方案是 npm uninstall node-sass,然后使用 VPN 重新安装了一遍就成功了。不能翻墙的同学请看下文
koa 处理 post 请求的时候,需要对 body 传递过来的数据进行处理。
实际上如果要手动实现一个能够处理 application/x-www-from-urlencoded 的中间件,还是借助的原生 node.js 的方法进行处理。
koa 封装了原生了 node.js 的 request 对象到 ctx.req 中。
而借助原生 node.js 的 request 对象,监听 data 事件及 end 事件,进行处理。
之前使用 express 的时候,使用 multer 进行文件上传,而 koa-multer 是 koa-modules 提供的文件上传中间件。
在 express 中使用 multer 进行文件上传:
两者使用起来其实本质上是一样的,提供的 API 也都差不多。
之前使用 koa2 的时候,处理 post 请求使用的是 koa-bodyparser ,同时如果是图片上传使用的是 koa-multer 。
这两者的组合没什么问题,不过 koa-multer 和 koa-route (注意不是 koa-router ) 存在不兼容的问题。
这个问题已经在这篇文章中说明了:
koa-bodyparser 的使用,见下面文章:koa-body 代替,并且只是用 koa-body 即可。koa-body 主要是下面两个依赖:
"co-body": "^5.1.1",
"formidable": "^1.1.1"
具体的实现可以在 github 上查看 : https://github.com/dlau/koa-body