npm了解

作者: 平安喜乐698 | 来源:发表于2020-01-02 17:02 被阅读0次
    目录
       1. 简介
       2. 常用命令
       3. package.json (模块的描述符文件)
       4. 版本号说明
    

    1. 简介

    npm (Node Package Manager)

    1.通过npm可以安装、共享、分发代码 , 管理项目依赖关系及版本。
    2.JavaScript世界的包管理工具(并且是Node.js平台的默认包管理工具)。
    3.世界上最大的软件注册表,每星期大约有30亿次的下载量,包含超过600000个包(package代码模块)。
    4.国内npm的访问速度很慢,可以使用cnpm来代替npm

    npm 由三个独立的部分组成:
      1. 网站
        开发者查找包(package)、设置参数以及管理 npm 
      2. 注册表(registry)
        一个巨大的数据库,保存了每个包(package)的信息
      3. 命令行工具 (CLI)
        通过命令行或终端运行。开发者可通过 CLI 与 npm 打交道
    
    安装npm
      brew install node
    升级npm
      brew upgrade node
    卸载npm
      brew uninstall  node
    重装npm
      brew reinstall node
    

    2. 常用命令

    常用命令 说明
    npm -v 当前版本(是否安装)
    npm install -g 升级版本
    npm search module_name 搜索指定模块
    npm install module_name 本地方式安装指定模块。安装好之后,在 ./node_modules 下(运行 npm 命令时所在的目录)。项目中使用var hello = require('module_name'); 无需指定第三方包路径。终端第一行输出了模块的版本号及安装位置。
    npm install module_name -g 全局方式安装指定模块。安装好之后,在 /usr/local 下或 node 的安装目录下。可以直接在命令行里使用。
    npm uninstall module_name 从项目中移除已安装的模块
    npm update module_name 更新指定的已安装模块的版本(本地)
    npm update module_name -g 更新指定的已安装模块的版本(全局)
    npm list 列出项目中已安装的所有模块(本地)
    npm list -g 列出系统中全局安装的所有模块(全局)
    npm list module_name 指定模块的版本号
    npm init 创建模块(运行构建新项目的向导)
    npm adduser username 注册用户(在npmjs.org创建一个账户)
    npm publish 发布init创建的模块到npmjs.org,要发布模块必须先有账户
    npm unpublish <package>@<version> 撤销发布的init创建的模块
    npm whoami 显示你在npmjs.org上的账户详细信息
    npm install module_name –-save 在项目中安装一个模块,并把此模块添加到项目配置文件package.json中,作为项目依赖
    npm install module_name –-save-dev 在项目中安装一个模块,并把此模块添加到项目配置文件package.json中,作为项目开发依赖(devDependency)
    npm remove module_name 从项目中移除已安装的模块
    npm remove -g module_name 从系统的全局安装中移除已安装的模块
    npm remove module_name –save 从项目中移除已安装的模块,并从配置依赖中移除依赖关系
    npm remove module_name –save-dev 从项目中移除已安装的模块,并从配置依赖中移除开发依赖(devDependency)关系
    1.
    错误:npm err! Error: connect ECONNREFUSED 127.0.0.1:8087 
    解决:npm config set proxy null
    

    3. package.json (模块的描述符文件)

    位于模块的目录下,用于定义包的属性。
    
    举例
    
    {
        "name": "test-project",
        "version": "1.0.0",
        "description": "test project",
        "homepage": "https://www.baidu.com/",
        "author": "helloWorld",
        "contributors": [
          {
            "name": "Hello",
            "email": "hello@sina.com"
          },
        ],
        "dependencies": {
          "accepts": "~1.2.12",
          "array-flatten": "1.1.1",
        },
        "repository": {
          "type": "git",
          "url": "git+https://github.com/strongloop/express.git"
        },
        "main": "app.js",
        "keywords": [
          "express",
          "framework",
        ],
        "scripts": {
            "test": "node test.js",
            "start": "node app.js",
            "clean": "rm -rf node_modules"
        },
        "private": true,
        "license": "MIT",
        "devDependencies": {
          "after": "0.8.1",
        },
    }
    
    字段 说明
    name 包名
    version 包的版本号。
    description 包的描述。
    homepage 包的官网 url 。
    author 包的作者姓名。
    contributors 包的其他贡献者姓名。
    dependencies 依赖包列表。如果依赖包没有安装,npm 会自动将依赖包安装在 node_module 目录下。
    repository 包代码存放的地方的类型,可以是 git 或 svn,git 可在 Github 上。
    main main 字段指定了程序的主入口文件,require('moduleName') 就会加载这个文件。这个字段的默认值是模块根目录下面的 index.js。
    keywords 关键字
    scripts 定义了三个任务脚本:启动start、测试test、清理clean。要执行脚本,分别使用命令: npm run start 、 npm run test 、npm run clean 。script会按照一定顺序寻找命令对应位置,比如本地的node_modules/.bin路径。

    4. 版本号说明

    版本号分为X.Y.Z三位,分别代表主版本号、次版本号和补丁版本号。当代码变更时,版本号按以下原则更新。
        如果只是修复bug,需要更新Z位。
        如果是新增了功能,但是向下兼容,需要更新Y位。
        如果有大变动,向下不兼容,需要更新X位。
    
    在申明第三方包依赖时,除了可依赖于一个固定版本号外,还可依赖于某个范围的版本号。例如"argv": "0.0.x"表示依赖于0.0.x系列的最新版argv。
    

    相关文章

      网友评论

        本文标题:npm了解

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