一、基本命令
1.1 Node.js 常用命令
1.1.1 查看node版本
node --version
或者
node -v
1.1.2 脚本执行
node xxx.js
1.2 npm 常用命令
1.2.1 查看npm 版本
npm -v
1.2.2 安装express模块
npm install express
1.2.3 全局安装express模块
npm install -g express
1.2.4 列出已安装模块
npm list
1.2.5 显示express模块详情
npm show express
1.2.6 升级当前目录下的项目的所有模块
npm update
1.2.7 升级当前目录下的项目的指定模块
npm update express
1.2.8 升级全局安装的express模块
npm update -g express
1.2.9 删除指定的模块
npm uninstall express
1.2.10 更新node版本
首先需要确保是否安装 n 模块,这个是node升级需要
没有安装执行:npm i n -g -f
检测使用: n --version
更新node命令:n stable
1.2.11 node 引入模块
var http = require("express")
1.2.12 修改 下载仓库为淘宝镜像
npm config set registry http://registry.npm.taobao.org/
注意
:如果要发布自己的镜像需要修改回来
npm config set registry https://registry.npmjs.org/
1.2.13 查看下载仓库
npm config get registry
二、Node.js 创建第一个应用
2.1 Node.js 应用是由哪几部分组成?
1.引入 required 模块:我们可以使用 require 指令来载入 Node.js 模块。
2.创建服务器:服务器可以监听客户端的请求,类似于 Apache 、Nginx 等 HTTP 服务器。
3.接收请求与响应请求:服务器很容易创建,客户端可以使用浏览器或终端发送 HTTP 请求,服务器接收请求后返回响应数据。
2.2 创建 Node.js 应用
2.2.1 引入 required 模块
1 | var http = require('http'); |
2.2.2 创建服务器
接下来我们使用 http.createServer() 方法创建服务器,并使用 listen 方法绑定 8888 端口。 函数通过 request, response 参数来接收和响应数据。
实例如下,在你项目的根目录下创建一个叫 server.js 的文件,并写入以下代码:
1 | var http = require('http'); |
2.2.3 测试
以上代码我们完成了一个可以工作的 HTTP 服务器。
使用 node 命令执行以上的代码:
node server.js
2.2.4 代码分析
第一行请求(require)Node.js 自带的 http 模块,并且把它赋值给 http 变量。
接下来我们调用 http 模块提供的函数: createServer 。这个函数会返回 一个对象,这个对象有一个叫做 listen 的方法,这个方法有一个数值参数, 指定这个 HTTP 服务器监听的端口号。
三、NPM 使用介绍
3.1 使用场景
NPM是随同NodeJS一起安装的包管理工具,能解决NodeJS代码部署上的很多问题,常见的使用场景有以下几种:
- 允许用户从NPM服务器下载别人编写的第三方包到本地使用。
- 允许用户从NPM服务器下载并安装别人编写的命令行程序到本地使用。
- 允许用户将自己编写的包或命令行程序上传到NPM服务器供别人使用。
3.2 使用 package.json
package.json 位于模块的目录下,用于定义包的属性。
3.2.1 Package.json 属性说明
属性 | 含义 |
---|---|
name | 包名 |
version | 包的版本号 |
description | 包的描述 |
homepage | 包的官网 url |
author | 包的作者姓名 |
contributors | 包的其他贡献者姓名 |
dependencies | 依赖包列表。如果依赖包没有安装,npm 会自动将依赖包安装在 node_module 目录下。 |
repository | 包代码存放的地方的类型,可以是 git 或 svn,git 可在 Github 上。 |
main | main 字段指定了程序的主入口文件,require('moduleName') 就会加载这个文件。这个字段的默认值是模块根目录下面的 index.js。 |
keywords | 关键字 |
3.2.2 搜索模块
npm search express
3.2.3 创建模块
创建模块,package.json 文件是必不可少的。我们可以使用 NPM 生成 package.json 文件,生成的文件包含了基本的结果。
1 | Microsoft Windows [版本 10.0.18362.1082] |
以上的信息,你需要根据你自己的情况输入。在最后输入 "yes" 后会生成 package.json 文件。
接下来我们可以使用以下命令在 npm 资源库中注册用户(使用邮箱注册):
$ npm adduser
Username: wno704
Password:
Email: (this IS public) wno704@126.com
接下来我们就用以下命令来发布模块:
npm publish
如果你以上的步骤都操作正确,你就可以跟其他模块一样使用 npm 来安装。
注意
: 如果你遇到了使用 npm 安 装node_modules 总是提示报错:报错: npm resource busy or locked.....。可以先删除以前安装的 node_modules :
npm cache clean
npm install
3.3 使用淘宝 NPM 镜像
大家都知道国内直接使用 npm 的官方镜像是非常慢的,这里推荐使用淘宝 NPM 镜像。
淘宝 NPM 镜像是一个完整 npmjs.org 镜像,你可以用此代替官方版本(只读),同步频率目前为 10分钟 一次以保证尽量与官方服务同步。
你可以使用淘宝定制的 cnpm (gzip 压缩支持) 命令行工具代替默认的 npm:
npm install -g cnpm --registry=https://registry.npm.taobao.org
这样就可以使用 cnpm 命令来安装模块了:
cnpm install [name]
更多信息可以查阅: http://npm.taobao.org/ 。
3.4 版本号
使用NPM下载和发布代码时都会接触到版本号。NPM使用语义版本号来管理代码,这里简单介绍一下。
语义版本号分为X.Y.Z三位,分别代表主版本号、次版本号和补丁版本号。当代码变更时,版本号按以下原则更新。
如果只是修复bug,需要更新Z位。
如果是新增了功能,但是向下兼容,需要更新Y位。
如果有大变动,向下不兼容,需要更新X位。
版本号有了这个保证后,在申明第三方包依赖时,除了可依赖于一个固定版本号外,还可依赖于某个范围的版本号。例如"argv": "0.0.x"表示依赖于0.0.x系列的最新版argv。
NPM支持的所有版本号范围指定方式可以查看官方文档。