Node之npm常用命令与package.json文件

新书速览|Vue.js+Node.js全栈开发实战-CSDN博客

《Vue.js+Node.js全栈开发实战(第2版)(Web前端技术丛书)》(王金柱)【摘要 书评 试读】- 京东图书 (jd.com)

npm常用命令

npm默认与Node.js一起安装,可以在命令行中输入“npm”来验证npm是否安装,如图4.1所示。

1.npm --v、npm--version

通过输入npm -v命令或者npm --version命令,可以查看npm的安装版本,如图4.2所示。

图4.1  验证npm是否安装

图4.2  npm查看版本结果

2.npm init

通过npm init命令可以生成一个package.json文件。这个文件是整个项目的描述文件。通过这个文件可以清楚地知道项目的包依赖关系、版本、作者等信息。每个npm包都有自己的package.json文件。使用这个命令需要填写项目名、版本号、作者等信息,如图4.3所示。

填写完毕后,在运行命令的文件夹中会多出一个package.json文件。当然,如果读者不想填写这些内容,也可以在这条命令后添加参数-y或者--yes,这样系统将会使用默认值生成package.json文件。例如:

npm init -y

//or

npm int --yes

3.npm install

通过npm install命令安装包,例如安装underscore包(underscore是一个强大的JavaScript工具库,使用这个库可以大大提高开发效率),如图4.4所示。

图4.3  npm init生成package.json文件

图4.4  安装underscore的结果

命令运行完毕后,可以发现在运行命令的文件夹中多了一个名为“node-modules”的文件夹(用来存放安装包的文件夹)。打开这个文件夹就可以找到名为“underscore”的文件夹(用来存放underscore包),underscore文件夹下的文件如图4.5所示。

图4.5  underscore文件夹下的文件

在安装包的时候,同样可以在命令后添加--save或者-S参数,这样安装包的信息将会记录在package.json文件的dependencies字段中,如图4.6所示。这样可以很方便地管理包的依赖关系。

当然如果这个包只是开发阶段需要的,可以继续添加-dev参数。这样安装包的信息将会记录在package.json文件的devDependencies字段中,如图4.7所示。

建议:将所有项目安装的包都记录在package.json文件中。当package.json文件中有了依赖包的记录时,只需要运行npm install命令,系统就会自动安装所有项目需要的依赖包。

当不需要使用某个包时,可以运行npm uninstall命令来卸载这个包。

package.json文件

上一节提到package.json文件是提供包描述的文件。在Node.js中,一个包是一个文件夹,文件夹中的package.json文件以JSON格式存储该包的相关描述。一个典型的package.json文件内容(这是underscore的package.json文件,有删减)如下:

{
  "author": {
    "name": "Jeremy Ashkenas",
    "email": "jeremy@documentcloud.org"
  },
  "bugs": {
    "url": "https://github.com/jashkenas/underscore/issues"
  },
  "dependencies": {},
  "description": "JavaScript's functional programming helper library.",
  "devDependencies": {
    "docco": "*",
    "eslint": "0.6.x"
  },
  "directories": {},
  "gitHead": "e4743ab712b8ab42ad4ccb48b155034d02394e4d",
  "homepage": "http://underscorejs.org",
  "keywords": [
    "util",
    "functional",
    "server"
  ],
  "license": "MIT",
  "main": "underscore.js",
  "maintainers": [
    {
      "name": "jashkenas",
      "email": "jashkenas@gmail.com"
    },
    {
      "name": "jridgewell",
      "email": "justin+npm@ridgewell.name"
    }
  ],
  "name": "underscore",
  "repository": {
    "type": "git",
    "url": "git://github.com/jashkenas/underscore.git"
  },
  "version": "1.8.3"
}

以下对主要的字段进行说明:

  1. name:包的名字。
  2. respository:包存放的仓库地址。
  3. keywords:包的关键字,有利于别人通过搜索找到包。
  4. license:遵循的协议。
  5. maintainers:包的维护者。
  6. author:包的作者。
  7. version:版本号,遵循版本命名规范。
  8. dependencies:包依赖的其他包。
  9. devDependencies:包开发阶段所依赖的包。
  10. homepage:包的官方主页。

当然,以上仅列举了常见的字段,所有字段的说明可以在网站https://docs.npmjs.com/files/ package.json上找到。

  • 22
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值