木心

毕竟几人真得鹿,不知终日梦为鱼

导航

node.js入门学习(三)--npm

一、npm介绍

  1)npm:node package manager是node.js默认的以js编写的软件包管理系统
    官网:www.npmjs.com
    文档:docs.npmjs.com

  2)提到npm可能指的是:

    npm这个网站
    npm这个js代码仓库
    npm客户端

  3)npm是node.js默认的软件包管理系统。安装完node后,会默认安装好npm。
  4)npm本身也是基于node.js开发的包(软件)

  5)查看当前npm版本 npm -v

  6)更新npm: npm install npm@latest -g

 

二、npm的使用
  1)在https://www.npmjs.com网站搜索找到需要的包
  2)在项目的根目录下, 执行npm install 包名称,本地安装
  3)在node.js代码中通过require('包名');加载该模块
          注意:通过“npm install 包名称” 安装的包,会自动下载到当前目录的node_modules目录下

  4)npm全局安装
        - npm install 包名 -g
        - 全局安装指的是把包安装成了一个命令行工具;项目中要使用这个模块仍然需要安装到本项目中
        - 例如:    
          // 通过npm全局安装mime.js
               npm install mime -g
               // 安装完毕后可以在命令行直接使用
               mime a.css
               mime a.doc
        - npm全局安装实际做了2件事:
               1)下载包到c:\Users\username\AppData\Roaming\npm\node_modeles
               2) 创建一段命令行执行的代码
    
  5)npm init [-y]    初始化创建一个package.json

  6)npm root -g:查看全局安装目录,比如c:\Users\username\AppData\Roaming\npm\node_modeles

  7)安装cnpm: npm i cnpm -g

 

三、Modules和Packages区别
  1)包是一个文件或目录,必须有一个package.json来描述,就可以是一个包

  2)模块可以是任何一个文件或目录,只要能被node.js通过require加载即可

 

四、package.json

  1)package.json文件:包(或项目)描述文件
    package.json常见的项有:

name 包的名字,必须项
version 包的版本,必须项
description 包描述
author 包的作者
main 包的入口js文件,从main字段这里指定的那个js文件开始执行
dependencies 依赖的其他包

      
  2)如何创建package.json

    - npm init [-y]    初始化创建一个package.json;当然手动创建也可以

    - 注意:项目根目录不能有中文,最好不要有大写字母

    - 必须包含name和version字段

 

五、package-lock.json文件介绍
  npm 5.x版本以后,当引入第三方包时,会自动创建package-lock.json
  package-lock.json里面包含引入第三方包的所以依赖的包的信息,使得npm下载更快

 

六、npm 安装中的 i、-g、--save、--save-dev、-D、-S的区别

说明
    i 是 install 的简写
    -g 是全局安装,不带 -g 会安装在个人文件夹
    -S 与 --save 的简写,安装包信息会写入 dependencies 中
    -D 与 --save-dev 的简写,安装包写入 devDependencies 中

dependencies 与 devDependencies
    dependencies 生产阶段的依赖,也就是项目运行时的依赖
    devDependencies 开发阶段的依赖,就是我们在开发过程中需要的依赖,只在开发阶段起作用的

举例说明
  你写 ES6 代码,需要 babel 转换成 es5 ,转换完成后,我们只需要转换后的代码,上线的时候,直接把转换后的代码部署到生产环境,不需要 bebal 了,生产环境不需要。这就可以安装到 devDependencies ,再比如说代码提示工具,也可以安装到 devDependencies 。
  如果你用了 Element-UI,由于发布到生产后还是依赖 Element-UI,这就可以安装到 dependencies 。

posted on 2019-06-30 18:34  wenbin_ouyang  阅读(183)  评论(0编辑  收藏  举报