美文网首页
NPM的简单使用

NPM的简单使用

作者: mxjsxz | 来源:发表于2018-06-24 20:42 被阅读0次

    npm是javascript的包管理工具,类似java语法当中的maven, gradle, python的pip。常见的使用场景有以下几种:

    • 允许用户从NPM服务器下载别人编写的第三方包到本地使用。
    • 允许用户从NPM服务器下载并安装别人编写的命令行程序到本地使用。
    • 允许用户将自己编写的包或命令行程序上传到NPM服务器供别人使用。

    安装

    npm是和Node.js一起发布的,只要安装了Node.js,npm也安装好了,可以从Node.js官网
    下载对应操作系统的安装包安装即可。 安装好后,执行如下命令,检查是否安装成功。

    image.png

    但是由于npm自身的更新频率比Node.js高很多,所以通过上面的命令安装的npm可能不是最新版本,可以通过下面的命令单独更新npm

    npm install npm@latest -g
    

    使用 npm 命令安装模块

    npm 安装 Node.js 模块语法格式如下:

    npm install <Module Name>
    

    我们使用 npm 命令安装常用的 Node.js web框架模块 express:

    npm install express
    

    注意

    直接使用该命令可能会出现以下警告:


    image.png

    从提示可以看出来,它会检查你运行 npm 命令时所在的目录下有没有 package.json 这个文件,这是我们可以使用命令初始化一个:

    npm init -f
    

    -f表示force的意思,不加这个,npm会让你输入一堆信息,比如name、version之类,如果只是做做实验小demo,直接-f,npm帮你初始化package.json,并填充各种默认值,省事。

    然后就可以愉快地npm install了。


    image.png

    因为我运行命令是在 D:\node\nodeNpm 下,所以生成的文件就在它里面


    image.png

    安装好之后,express 包就放在了工程目录下的 node_modules 目录中,因此在代码中只需要通过 require('express') 的方式就好,无需指定第三方包路径。

    var express = require('express');
    

    全局安装与本地安装

    npm 的包安装分为本地安装(local)、全局安装(global)两种,从敲的命令行来看,差别只是有没有-g而已,比如

    npm install express          # 本地安装
    npm install express -g   # 全局安装
    

    上面一部分介绍的就是本地安装。

    本地安装

    1. 将安装包放在 ./node_modules 下(运行 npm 命令时所在的目录),如果没有 node_modules 目录,会在当前执行 npm 命令的目录下生成 node_modules 目录。
    2. 可以通过 require() 来引入本地安装的包。全局安装

    全局安装

    1. 将安装包放在 /usr/local 下或者你 node 的安装目录。
    2. 可以直接在命令行里使用。

    接下来我们使用全局方式安装 express

    npm install express -g
    

    查看安装信息

    你可以使用以下命令来查看所有安装的模块,-g表示查看所有全局安装的模块:

    npm list -g
    

    使用 package.json

    package.json 位于模块的目录下,用于定义包的属性。我们看一下刚才初始化生成的文件内容:

    {
      "name": "nodeNpm",
      "version": "1.0.0",
      "description": "",
      "main": "index.js",
      "dependencies": {
        "express": "^4.16.3"
      },
      "devDependencies": {},
      "scripts": {
        "test": "echo \"Error: no test specified\" && exit 1"
      },
      "keywords": [],
      "author": "",
      "license": "ISC"
    }
    

    这里的配置是最少的,刚才安装的express模块里的package.json 就不只这么点了。

    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 - 关键字

    卸载模块

    我们可以使用以下命令来卸载 Node.js 模块。

    npm uninstall express
    

    卸载后,你可以到 /node_modules/ 目录下查看包是否还存在,或者使用以下命令查看:

    npm ls
    

    更新模块

    npm update express
    

    搜索模块

    npm search express
    

    创建模块

    创建模块,package.json 文件是必不可少的。我们可以使用 NPM 生成 package.json 文件,生成的文件包含了基本的结果。

    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 <pkg> --save` afterwards to install a package and
    save it as a dependency in the package.json file.
    
    Press ^C at any time to quit.
    name: (node_modules) runoob                   # 模块名
    version: (1.0.0) 
    description: Node.js 测试模块(www.runoob.com)  # 描述
    entry point: (index.js) 
    test command: make test
    git repository: https://github.com/runoob/runoob.git  # Github 地址
    keywords: 
    author: 
    license: (ISC) 
    About to write to ……/node_modules/package.json:      # 生成地址
    
    {
      "name": "runoob",
      "version": "1.0.0",
      "description": "Node.js 测试模块(www.runoob.com)",
    
    }
    

    Is this ok? (yes) yes

    以上的信息,你需要根据你自己的情况输入。在最后输入 "yes" 后会生成 package.json 文件。

    接下来我们可以使用以下命令在 npm 资源库中注册用户(使用邮箱注册):

    $ npm adduser
    Username: mcmohd
    Password:
    Email: (this IS public) mcmohd@gmail.com
    

    接下来我们就用以下命令来发布模块:

    $ npm publish
    

    如果你以上的步骤都操作正确,你就可以跟其他模块一样使用 npm 来安装。

    NPM 常用命令

    除了上面这些,NPM还提供了很多功能,package.json里也有很多其它有用的字段。可以查看官方文档

    • NPM提供了很多命令,例如install和publish,使用npm help可查看所有命令。
    • 使用npm help <command>可查看某条命令的详细帮助,例如npm help install。
    • 在package.json所在目录下使用npm install . -g可先在本地安装当前命令行程序,可用于发布前的本地测试。
    • 使用npm update <package>可以把当前目录下node_modules子目录里边的对应模块更新至最新版本。
    • 使用npm update <package> -g可以把全局安装的对应命令行程序更新至最新版。
    • 使用npm cache clear可以清空NPM本地缓存,用于对付使用相同版本号发布新版本代码的人。
    • 使用npm unpublish <package>@<version>可以撤销发布自己发布过的某个版本代码。

    相关文章

      网友评论

          本文标题:NPM的简单使用

          本文链接:https://www.haomeiwen.com/subject/rxysyftx.html