什么是Node
- Node.js 是一个基于Chrome JavaScript 运行时建立的一个平台,它可以像浏览器一样去解析和执行JavaScript代码。
- Node.js是一个事件驱动I/O服务端JavaScript环境,基于Google的V8引擎,V8引擎执行Javascript的速度非常快,性能非常好。
- 特点:事件驱动、非阻塞式I/O模型。
- 优点:Node.js 使用了一个事件驱动、非阻塞式 I/O 的模型,异步编程,使其轻量又高效。
- 缺点:单进程,单线程,只支持单核cpu,不能充分的利用多核cpu服务器。一旦这个进程崩掉,那么整个web服务就崩掉了。
包
- 包结构:用于组织包的各种文件,其实际上是一个压缩文件,解压以后还原目录,会包含以下文件:
- package.json 描述文件,描述包的相关信息,以供外部读取分析
- bin 可执行的二进制文件
- lib 存放JavaScript文件js代码
- doc 文档
- test 单元测试
Node.js的包管理器
- npm: 全球最大的开源生态系统( 国外的 )
- cnpm 淘宝镜像( 国内的 )
- yarn 流行
package.json 介绍
- name:包名。包名是唯一的,由小写字母、数字和下划线组成,不能含空格。
- description:包简介。对包进行简要描述。
- version:版本号。满足《语义化版本识别》规范的版本字符串。
- keywords:关键字数组,通常用于搜索。
- maintainers:维护者数组。每个元素包含name、email(可选)、web(可选)字段。
- contributors:贡献者数组。格式与maintainer数组相同。包作者应该是贡献者数组的第一个元素。
- bugs:提交bug的地址,可以是网址或电邮地址。
- licenses:许可证数组。每个元素要包含type(许可证名称)和url(链接到许可证文本的地址)字段。
- repositories:仓库托管地址数组。每个元素要包含type(仓库的类型,如Git)、url(仓库地址)和path(相对于仓库的路径,可选)字段。
- dependencies:当前包使用时所需要依赖包的列表。是一个关联数组,由包名和版本号组成。
- devDependencies:当前包开发时所需要依赖包的列表。
- main:模块引入入口。
- scripts:脚本说明对象。主要被包管理器用来安装、编译、测试和卸载包。
注意:package.json文件中不可写注释
{
"name": "nodedemo",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"start": "nodemon ./src/main.js"
},
"keywords": [],
"author": "",
"license": "ISC",
"dependencies": {
"blueimp-md5": "^2.18.0",
"dotenv": "^8.2.0",
"jsonwebtoken": "^8.5.1",
"koa": "^2.13.1",
"koa-bodyparser": "^4.3.0",
"koa-router": "^10.0.0",
"mysql2": "^2.2.5"
}
}
网友评论