ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

Node.js NPM 教程

2022-08-26 14:32:18  阅读:177  来源: 互联网

标签:Node NPM js json npm 模块


NPM 介绍

NPM 是 Node Package Manager 的缩写,意思是Node包管理器。

NPM 是 Node.js 的默认包管理器,完全用JavaScript编写。它由Isaac Z. Schlueter开发,并于2010年发布。

从那时起,NPM负责管理所有Node.js包和模块。www.npmjs.com上有海量的Node.js包,完全免费,开源,全世界的开发者可以在上面共享Node.js包。

NPM的两个主要功能是:

  • 为 Node.js 的包/模块提供了在线存储库,你可以在其官方站点上方便地搜索这些包/模块。
  • 提供了一个命令行程序(CLI),帮助开发人员管理Node.js包。

注意,Node.js项目中,任何包或模块都需要通过NPM安装。

NPM 安装

从0.6.3版本开始,NPM就作为Node.js的默认包,包含在Node.js中。安装Node.js的同时,会默认安装NPM。可以从Node.js官网:https://nodejs.org下载安装Node.js。

检查NPM是否已经安装,可以使用下面的命令。

$ npm -v

NPM 作用

NPM 作用很多,下面列出了最基本的几点:

  • NPM 可以让我们充分利用其他开发人员的工作,将其他包轻松合并到我们的项目中
  • NPM 帮助下载各种独立的工具,可以立即使用
  • 使用 npx,你甚至可以不下载包,就直接运行它
  • NPM 创建各种组织来协调包的开发和维护
  • NPM 可以帮助组建虚拟团队,甚至可以将代码限制到特定的开发人员
  • NPM 帮助管理和维护各种版本的代码及其依赖关系
  • NPM 帮助自动更新应用程序
  • NPM 就像一个社区,在这里,你总可以找到从事类似项目的其他开发人员,与他们共享成果

现在,你已经知道了NPM的作用,让我们继续深入研究。首先,让我们了解什么是npm包/模块。

NPM 包(Package)

包是打包成独立逻辑单元的一组代码。对于开发人员来说,包是方便的工具,包有助于代码重用,项目结构优化。NPM社区内,大约有800,000多个现成的代码包可用,每个包都提供了各种有用的功能。

但是,如果你不能确切地知道哪种包最适用,那就无异于大海捞针。下面列出了常用的NPM库,供参考:

  • express
  • body-parser
  • nodemon
  • lodash
  • babel-core
  • async
  • debug
  • react
  • vue
  • request
  • moment

使用这些包之前,需要在系统中安装NPM。

NPM 管理包

根据安装方式的不同,Node.js包可分为两类:

  • 本地包(Local Packages)
  • 全局包(Global Packages)
本地包(Local Packages)

这些包安装在执行 install 命令的当前目录下,存储在当前目录下的node_modules文件夹中,只有当前目录下的项目才能使用。

下面是本地安装包的命令:

npm install <package-name>
全局包(Global Packages)

这些包安装在系统中的一个位置,与执行install命令的目录位置无关。全局包可以被系统中的任何项目使用。

要安装全局包包,可以使用以下命令:

npm install -g <package-name>

下面这些常用的包,通常会全局安装:

  • npm
  • create-react-app
  • vue-cli
  • grunt-cli
  • mocha
  • react-native-cli
  • gatsby-cli
  • forever
  • nodemon
本地包与全局包的区别

本地包和全局包之间的主要区别是,全局包用于多个项目,本地包仅用于单个项目。但是一般来说,本地安装包是一个很好的实践。因为系统中可能有许多Node.js项目,使用的包虽相同,但版本不同,本地安装可以避免版本冲突。

例如,如果更新一个全局包,所有依赖它的项目都会被影响,有可能部分项目与包的新版本不兼容。但是对于本地包,因为仅限于单个项目使用,所以本地包更新不会影响其他项目。就资源利用而言,本地安装似乎浪费硬盘空间,但是负面影响较小,毕竟硬件总是越来越便宜。

可以通过下面的命令,来检查系统中有多少全局包。

npm list -g --depth 0

如果想删除包,可以下命令:

npm uninstall <package_name>

安装包时,建议包含--save标志:

npm install <package_name> --save

作用是把安装的包添加到package.json文件中。

现在,你已经知道怎么安装、删除包。

NPM Package.json

Node.js项目中,Package.json文件是应用程序的核心。Package.json文件是一个保存了项目元数据的配置文件,通常出现在Node.js应用程序的根文件夹中,npm install命令根据这个配置文件,自动下载所需的模块,也就是配置项目所需的运行和开发环境。

Package.json 格式

Package.json文件内容通常如下所示。

{
    "name": "Hello World",
    "version": "0.0.1",
    "author": "qikegu.com",
    "description": "第一个node.js程序",
    "keywords":["node.js","javascript"],
    "repository": {
        "type": "git",
        "url": "https://path/to/url"
    },
    "license":"MIT",
    "engines": {"node": "0.10.x"},
    "bugs":{"url":"http://path/to/bug","email":"bug@example.com"},
    "contributors":[{"name":"李四","email":"lisi@example.com"}],
    "scripts": {
        "start": "node index.js"
    },
    "dependencies": {
        "express": "latest",
        "mongoose": "~3.8.3",
        "handlebars-runtime": "~1.0.12",
        "express3-handlebars": "~0.5.0",
        "MD5": "~1.2.0"
    },
    "devDependencies": {
        "bower": "~1.2.8",
        "grunt": "~0.4.1",
        "grunt-contrib-concat": "~0.3.0",
        "grunt-contrib-jshint": "~0.7.2",
        "grunt-contrib-uglify": "~0.2.7",
        "grunt-contrib-clean": "~0.5.0",
        "browserify": "2.36.1",
        "grunt-browserify": "~1.3.0",
    }
}

如上所示,package.json文件包含了项目中各种信息配置。让我们详细了解一下一些常用信息:

  • Name: 应用程序名称
  • Version: 应用程序的版本
  • Description: 应用程序描述信息
  • Main: 指定了加载的入口文件,require(‘moduleName’)就会加载这个文件。这个字段的默认值是模块根目录下面的index.js。
  • Scripts: 指定了运行脚本命令的npm命令行缩写,比如start指定了运行npm run start时,所要执行的命令。
  • Author: 开发人员
  • License: 许可证
  • Dependencies: 指定了项目运行所依赖的模块
  • DevDependencies: 指定项目开发所需要的模块
  • Repository: 关于应用程序代码所在的存储库信息及网址等
  • Bugs: 报告应用程序bug的网址或电子邮件
Package.json 使用

package.json文件可以手工编写,也可以使用npm init命令自动生成。

$ npm init

这个命令采用互动方式,要求用户回答一些问题,然后在当前目录生成一个基本的package.json文件。所有问题之中,只有项目名称(name)和项目版本(version)是必填的,其他都是选填的。

有了package.json文件,直接使用npm install命令,就会在当前目录中安装所需要的模块。

$ npm install

如果一个模块不在package.json文件之中,可以单独安装这个模块,并使用相应的参数,将其写入package.json文件之中。

$ npm install express --save
$ npm install express --save-dev

上面代码表示单独安装express模块,--save参数表示将该模块写入dependencies属性,--save-dev表示将该模块写入devDependencies属性。

标签:Node,NPM,js,json,npm,模块
来源: https://www.cnblogs.com/binbingg/p/16627446.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有