一、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下载更快

node.js入门学习(三)--npm的更多相关文章

  1. 极简 Node.js 入门 - 1.4 NPM & package.json

    极简 Node.js 入门系列教程:https://www.yuque.com/sunluyong/node 本文更佳阅读体验:https://www.yuque.com/sunluyong/node ...

  2. Node.js入门学习笔记(三)

    基于事件驱动的回调 这个问题不好回答,不过这是Node.js原生的工作方式.它是事件驱动的,这也是它为什么这么快的原因.你可以花一点时间阅读一下Felix Geisendörfer的大作 Unders ...

  3. node.js入门学习(四)--Demo图书的增删改查

    需求:图书的增删改查,图书数据保存在data.json文件中. 1.Demo结构: 2.首先下载安装node.js,配置环境变量:参考博客 3.项目初始化 1)创建项目根目录node-hello,进入 ...

  4. node.js入门学习(五)--Demo模块化改造

    1.node.js中模块的分类 1)node.js内置模块(核心,原生) 所有内置模块在安装node.js时就已经编译成二进制文件,可以直接加载运行(速度较快),部分内置模块,在node.exe这个进 ...

  5. node.js入门学习(一)环境安装,REPL,fs模块,path模块,http模块

    一.node.js介绍 1.1.node.js是什么 官网首页总结:Node.js® 是一个基于 Chrome V8 引擎 的 JavaScript 运行时. 1)node.js是一个开发平台,就像j ...

  6. Node.js入门学习笔记(一)

    先来个最常见的"Hello World!". 打开你最喜欢的编辑器(我用的是Sublime Text),创建一个helloWorld.js的文件.我们要做的就是向stdout输出& ...

  7. node.js入门(三)调式

    1.安装调式工具 打开命令行工具,输入以下内容,然后回车. npm install -g node-inspector 等待安装成功呢后,我们就可以使用 node-debug 文件名 这个命令来调式我 ...

  8. Node.js基础学习三之登录功能

    本篇介绍Node.js访问数据库并返回数据给客户端 需求基于Node.js学习(二) 数据库请下载:user.sql 1.创建user 实体类(model-user.js) function User ...

  9. node.js入门学习笔记整理

    (1)node Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境. Node与javaScript的区别在于,javaScript的顶层对象是window,而no ...

随机推荐

  1. ssh端口转发功能

    一.SSH 端口转发能够提供两大功能: 1.加密SSH Client 端至SSH Server 端之间的通讯数据 2.突破防火墙的限制完成一些之前无法建立的TCP 连接  (隧道功能) 二:SSH端口 ...

  2. C#各种委托介绍

    委托是一个类,它定义了方法的类型,使得可以将方法当作另一个方法的参数来进行传递.事件是一种特殊的委托. 一.委托的声明 Delegate Delegate 我们常用到的一种声明 Delegate 至少 ...

  3. mysql——视图——概念

    二.视图 视图是一种虚拟的表,是从数据库中的一个或者多个表中导出来的表. 视图还可以从已经存在的视图的基础上定义. 数据库中只存放了视图的定义,并没有存放视图中的数据,这些数据存放在原来的表中. 使用 ...

  4. Windows C++ 判断文件是否是图片格式的方法。

    一.通过后缀名去判断. bool IsImageByTail(const std::wstring &path) { std::wstring file_exten; size_t pos = ...

  5. A*算法【拼图游戏】

    数据结构 using System; using System.Collections.Generic; using System.Linq; using System.Text; using Sys ...

  6. hibernate-HQL连接查询 转载sincoolvip

    和SQL查询一样,HQL也支持各种各样的连接查询,如内连接.外连接 连接类型 HQL语法内连接 inner join 或者join迫切内连接 inner join fetch 或join fetch左 ...

  7. 文件的三种打开方式及with管理文件上下文

    文件的三种打开方式及with管理文件上下文 一.文件的三种打开方式 1.1 只读 f = open(r'D:\pycharm\yjy\上海python学习\456.txt','r',encoding= ...

  8. Vim插件YouCompleteMe安装记录(号称最难装的Vim插件?)

    使用 PulginInstall 安装就不要想了,如果你没有梯子的话 自己的 ssr 被封,使用的同事的 ss,但是同事设置的加密方式在 linux 上的 ss 应用不支持... 好吧,直接上过程 1 ...

  9. 22、nlpir 人工智能

    练习介绍 [程序功能] 我们将完成一个和语义识别相关的爬虫程序,输入任意词汇.句子.文章或段落,会返回联想的词汇. [背景信息] 有一个非常牛的处理语言的网站nlpir,上面有非常多的处理语言的功能( ...

  10. Flask开发系列之模板

    Flask开发系列之模板 本文对<FlaskWeb开发:基于python的Web应用开发实战>模板一节做的总结. Jinja2模板引擎 模板 模板是一个包含响应文本的文件,其中包含用占位变 ...