美文网首页
npm使用介绍

npm使用介绍

作者: 写前端的大叔 | 来源:发表于2020-01-08 10:55 被阅读0次

    npm是什么?

    npmnode.js的一个包管理工具,方便的使用第三方库,无需每次新建一个项目而导入第三方JS库,使用npm,只需执行简单的命令就可以添加依赖库了。跟iOS中的Cocoapods一样,都是为了方便管理包的。npm主要有以下几种使用场景:

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

    npm使用

    使用npm前需要先进行安装node.js,可以去官网进行下载安装,安装完成后,可以在终端使用npm -v命令查看node.js的版本号。

    npm初始化

    使用npm进行安装包进,首先需要在项目中进行npm初始化,创建一个package.json的文件。在终端执行npm init,输入命令后,然后一步一步进行设置,主要是设置项目名版本号项目描述入口文件测试命令git仓库地址关键字作者license等信息,初始化完成后,创建的package.json如下所示:

    {
      "name": "webpack",
      "version": "1.0.0",
      "description": "webpack demo",
      "main": "index.js",
      "scripts": {
        "test": "echo \"Error: no test specified\" && exit 1"
      },
      "author": "",
      "license": "ISC"
    }
    

    本地安装

    npm初始化完成后,可以进行安装了,比如需要在项目本地安装 webpack,执行如下命令进行安装:

    npm install --save-dev webpack
    
    • 本地安装完成后,将在项目目录下创建一个node_modules的目录,如下所示:
      node_modules.png
    • 安装完成后,还将在package.json中的devDependencies节点下添加包名和对应的版本号
     "devDependencies": {
        "webpack": "^4.41.5"
      }
    
    • 安装完成后,可以通过 require() 来引入本地安装的包。

    全局安装

    使用全局安装命令,可以将依赖包安装在/usr/local 下或者 node 的安装目录。全局安装的命令如下所示:

    npm install --g webpack
    
    • 全局安装完成后,可以直接在命令行里使用。

    卸载模块

    使用以下命令,可以卸载模块

    $ npm uninstall webpack
    

    更新模块

    使用以下命令,可以更新模块

    $ npm update webpack
    

    搜索模块

    使用以下命令,可以搜索模块

    $ npm search webpack
    

    package.json

    介绍完基本的命令后,就来熟悉下package.json文件,该文件主要用于记录项目中所用到的模块,当我们从代码仓库中拉取一个项目后,执行npm install命令时,将自动读取package.json文件中所有dependencies信息,然后根据dependencies中的信息与node_modules中的模块进行对比,没有的直接下载,已有的将根据对应的版本号进行检查更新。执行完npm install命令后,如果项目中没有package-lock.json文件,将生成一个package-lock.json文件。

    package-lock.json

    package-lock.json文件用于记录当前状态下实际安装的各个模块的具体来源和版本号。如果换了一台机器,执行npm install命令时,将根据package-lock.json中模块的版本号和来源进行安装,使各机器上安装的模块版本号保持一致。
    package.json 属性说明

    • name - 包名。
    • version - 包的版本号。
    • description - 包的描述。
    • homepage - 包的官网 url 。
    • author - 包的作者姓名。
    • contributors - 包的其他贡献者姓名。
    • dependencies - 项目在生产环境中依赖的包-install的东西。
    • repository - 包代码存放的地方的类型,可以是 git 或 svn,git 可在 Github 上。
    • main - main 字段指定了程序的主入口文件,require('moduleName') 就会加载这个文件。这个字段的默认值是模块根目录下面的 index.js。
    • keywords - 关键字
    • devDependencies 项目在开发和测试环境中依赖的包
    • scripts 用于配置命令信息,拿到一个项目,不知道执行什么 命令时,可以查看scripts中配置的命令。

    dependencies 与 devDependencies 区别

    • 概念区别
      dependencies :包含开发环境和测试环境都会用到的依赖包。即是我们生产环境和开发环境中都需要的依赖项。比如我们代码中需要使用的一些第三方库,都将放在dependencies中。比如我们开发用到的vue,react等框架。
      devDependencies :包含仅在测试环境中会用到的包。是我们开发时用的依赖项,主要是一些测试工具、打包工具、编译工具,比如webpackbabelsass`等。
    • 命令区别
      –save :把依赖包名称添加到package.json文件dependencies中
      –save-dev :把依赖包名称添加到package.json文件devDependencies中

    版本号介绍

    先来看下package.json文件中模块的版本信息,比如^4.41.5这里面的^表示啥了。

    "devDependencies": {
        "webpack": "^4.41.5"
      }
    

    npm使用语义版本号来管理代码的。语义版本号分为X.Y.Z三位,分别代表主版本号、次版本号和补丁版本号。当代码变更时,版本号按以下原则更新。

    • 如果只是修复bug,需要更新Z位。
    • 如果是新增了功能,但是向下兼容,需要更新Y位。
    • 如果有大变动,向下不兼容,需要更新X位。

    版本符号

    • 波浪号+指定版本:比如~4.41.5
      表示安装4.41.x的最新版本,但不能低于4.41.5,就是保持主版本号、次版本号不变,补丁版本安装最新的。
      插入号 波浪号+指定版本:比如^4.41.5
      表示安装4.x.x的最新版本,但不能低于4.41.5,就是保持主版本号不变、次版本号和补丁版本安装最新的。
      个人博客

    相关文章

      网友评论

          本文标题:npm使用介绍

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