node.js,NPM使用介绍
前言
-
NPM是随同NodeJS一起安装的包管理工具,能解决NodeJS代码部署上的很多问题,本次项目我们前端用的vue框架和后端的KOA2框架都是直接用npm安装和部署的。其常见的使用场景有以下几种:
- 允许用户从NPM服务器下载别人编写的第三方包到本地使用。
- 允许用户从NPM服务器下载并安装别人编写的命令行程序到本地使用。
- 允许用户将自己编写的包或命令行程序上传到NPM服务器供别人使用。
-
由于新版的nodejs已经集成了npm,所以之前npm也一并安装好了。
-
如果npm下载得很慢可以换成国内的淘宝镜像源,使用淘宝镜像的命令(强烈推荐):
npm install -g cnpm --registry=https://registry.npm.taobao.org
这样就可以使用 cnpm 命令来安装模块了:
$ cnpm install [name]
使用 npm 命令安装模块
-
npm 安装 Node.js 模块语法格式如下:
$ npm install <Module Name>
-
以下实例,我们使用 npm 命令安装我们本次项目的web框架模块KOA2:
$ npm install koa
-
安装好之后,koa 包就放在了工程目录下的 node_modules 目录中,因此在代码中只需要通过 require(‘koa’) 的方式就好,无需指定第三方包路径。
var koa = require('koa');
-
查看package.json
-
package.json 位于模块的目录下,用于定义包的属性。接下来让我们来看下 koa 包的 package.json 文件,位于 node_modules/koa/package.json 内容:
{ "name": "koa-body", "version": "4.1.0", "description": "A Koa body parser middleware. Supports multipart, urlencoded and JSON request bodies.", "main": "index.js", "types": "./index.d.ts", "scripts": { "test": "mocha", "examples-multer": "node examples/multer.js", "examples-koa-router": "node examples/koa-router.js" }, "author": { "name": "Daryl Lau", "email": "dlau00@gmail.com", "url": "https://github.com/dlau" }, "repository": { "type": "git", "url": "git://github.com/dlau/koa-body.git" }, "keywords": [ "koa", "urlencoded", "multipart", "json", "body", "parser", "form" ], "files": [ "LICENSE", "README.md", "index.js", "index.d.ts", "package.json", "unparsed.js" ], "dependencies": { "@types/formidable": "^1.0.31", "co-body": "^5.1.1", "formidable": "^1.1.1" }, "devDependencies": { "@types/koa": "^2.0.39", "koa": "^2.0.0", "koa-router": "^7.0.1", "mocha": "5.2.0", "should": "13.2.1", "sinon": "^7.2.2", "supertest": "3.1.0" }, "contributors": [ { "name": "Daryl Lau", "email": "dlau00@gmail.com", "url": "https://github.com/dlau" }, { "name": "Charlike Mike Reagent", "email": "mameto_100@mail.bg", "url": "https://github.com/tunnckoCore" } ], "license": "MIT", "__npminstall_done": "Tue Jun 25 2019 17:01:25 GMT+0800 (GMT+08:00)", "_from": "koa-body@4.1.0", "_resolved": "https://registry.npm.taobao.org/koa-body/download/koa-body-4.1.0.tgz" }
-
卸载模块
-
我们可以使用以下命令来卸载 Node.js 模块。
$ npm uninstall koa
-
卸载后,你可以到 /node_modules/ 目录下查看包是否还存在,或者使用以下命令查看:
$ npm ls
如何用npm创建我们本次的项目
-
进入window的开发目录,新建项目文件夹finalProject。
-
创建项目:
npm init
This utility will walk you through creating a package.json file.
It only covers the most common items, and tries to guess sensible defaults.See `npm help json` for definitive documentation on these fields and exactly what they do. Use `npm install ` afterwards to install a package and save it as a dependency in the package.json file. Press ^C at any time to quit. package name: (koa2-demo1) version: (1.0.0) description: koa2 demo entry point: (index.js) test command: git repository: keywords: author: DanZhang license: (ISC) MIT
-
查看当前目录,发现生成了一个node_modules的目录,这个目录存放了koa包所有的依赖的库。
-
然后,我们新建一个启动文件:app.js,用来启动Koa的项目。
const Koa = require('koa'); const app = new Koa(); ... // 使用koa-cors app.use(cors({ credentials: true })); ... module.exports = app;
-
启动项目:
node index.js
或者:
npm start
NPM 常用命令
- 除了本篇介绍的部分外,NPM还提供了很多功能,package.json里也有很多其它有用的字段。
- 除了可以在npmjs.org/doc/查看官方文档外,这里再介绍一些NPM常用命令。
- NPM提供了很多命令,例如install和publish,使用npm help可查看所有命令。
- NPM提供了很多命令,例如install和publish,使用npm help可查看所有命令。
- 使用npm help 可查看某条命令的详细帮助,例如npm help install。
- 在package.json所在目录下使用npm install . -g可先在本地安装当前命令行程序,可用于发布前的本地测试。
- 使用npm update 可以把当前目录下node_modules子目录里边的对应模块更新至最新版本。
- 使用npm update -g可以把全局安装的对应命令行程序更新至最新版。
- 使用npm cache clear可以清空NPM本地缓存,用于对付使用相同版本号发布新版本代码的人。
- 使用npm unpublish @可以撤销发布自己发布过的某个版本代码。