npm学习笔记

作者: 恰皮 | 来源:发表于2017-02-03 23:11 被阅读0次

1. npm 简介

  • <strong>npm</strong>:一个包管理工具
  • <strong>包/模块</strong>:为了JavaScript编写人员<strong>共享</strong>他们为解决一些特殊问题所编写的代码和给其他编写人员在他们自己的项目中<strong>重用</strong>这些代码,并且<strong>实时更新</strong>。这些可重用的代码叫做 <strong>包 或者 模块</strong>
    (It's a way to reuse code from other developers, and also a way to share your code with them, and it makes it easy to manage the different versions of code.)
  • 一个包是一个目录,里面有一个或者多个文件
  • 一个典型的应用例如一个网站,依赖于成千上万的包。这些包通常比较小。一般的思想是用比较好的解决方法解决了一个小问题,用这些小问题组成一个更大的问题的解决方案。

2. npm 的安装和更新

  • npm 是随同 NodeJS 一起安装的包管理工具,npm 更新很快
  • 检查 npm 的版本:
npm -v
  • 更新 npm 的最新版本:
npm install npm@latest -g

3. package.json 文件

  • 存有关于包的元数据(元数据指用来描述一个文件的特征的系统数据,诸如访问权限、文件拥有者以及文件数据块的分布信息等等);
  • 一个 package.json 文件列举了你的项目所依赖的包和版本。
  • 创建一个package.json 文件:
npm init

输入相应的信息或者一路回车过去(使用默认的或者为空)

npm init --yes  //跳过询问,获得一个默认的package.json
  • package.json 文件的内容

  • name:一般是当前目录的名字

  • version:总是1.0.0

  • description:包的描述

  • main:指向你程序的主要项目,经常是index.js 程序的入口

  • keywords:空

  • author:创建package.json 文件时,你在命令行输入的名字(包的作者名)

  • contributors - 包的其他贡献者姓名

  • "dependencies": these packages are required by your application in production

  • "devDependencies": these packages are only needed for development and testing

  • 手动编辑 package.json 文件:可以在 dependencies 或者 devDependencies 两个对象中写入你的项目所依赖的包以及版本号

eg:
{
  "name": "my_package",
  "version": "1.0.0",
  "dependencies": {
    "my_dep": "^1.0.0"
  },
  "devDependencies" : {
    "my_test_framework": "^3.1.0"
  }
}

用命令行的方式写入:

npm install <package_name> --save  
//add an entry to your package.json 's dependencies
npm  install <package_name> --save-dev 
//add an entry to your package.json 's devDependencies

4. 包的安装

  • 本地安装(locally)
npm install <package_name> 

如果原来不存在,会在你的当前目录下生成 node_modules 文件夹并且在这个文件夹中下载该包。
查看 node_modules 目录中的包,确认是否成功安装包:

 ls node_modules 
  • 全局安装(globally)
npm install <package_name> -g 

当运行目录下没有 package.json 时,运行 npm install 会安装最新版本。存在 package.json 时则会安装 package.json 中记录的版本及 package_name。

package 会被安装在当前目录的 node_modules 文件夹时,当前目录没有 node_modules 文件夹时会自动创建。若 node_modules 存在已有模块则不会重复安装,即使不是最新版本。

5. 使用安装的包

例如安装了包 “lodash”:

npm install lodash 

新建一个index.js 文件

var lodash = require('lodash'); //引入本地安装的包
var output = lodash.without([1, 2, 3], 1);
console.log(output);

命令行运行: node index.js
输出[2,3]
如果没有成功安装这个包,输出:

module.js:340
    throw err;
          ^
Error: Cannot find module 'lodash'

6. 更新包

  • 更新本地包:
npm update //在和你的package.json文件同目录的地方运行此命令行
  • 更新全局包:
npm update -g <package_name> //更新特定的全局包
npm update -g //更新全部全局包

7. 卸载包

  • 卸载本地包:
npm uninstall <package_name> 
  • 卸载本地包以及从package.json文件的dependencies或者devDependencies中删除:
npm uninstall --save <package_name>
npm uninstall --save-dev <package_name>
  • 卸载全局包:
npm uninstall -g <package_name>

相关文章

  • npm学习笔记

    依赖包的版本限制 我们通常在package.json文件中看到如下: key 是依赖的包名称,value 是这个包...

  • npm 学习笔记

    1.npm简介 npm 是 2009 年开始的一个 javascript模块管理工具,也是最流行的代码共享平台之一...

  • npm学习笔记

    1. npm 简介 npm :一个包管理工具 包/模块 :为了JavaScript编写人员 共享 他们为解决一些特...

  • 学习笔记《npm》

    npm 是最普遍使用的 javascript 包管理工具,可以理解成手机上的 appstore 或者 Androi...

  • npm学习笔记

    module和js文件一一对应 一个package可以包含多个module package可以有以下几种形式:a....

  • npm 学习笔记

    NPM NPM 是随同 Node 一起安装的包管理工具,能解决 Node 代码部署上的很多问题,常见的使用场景有以...

  • webpack4配置记录

    webpack学习笔记 一、 学习webpack 1. webpack基本环境 npm init -y cnpm ...

  • NPM 学习笔记整理

    什么是 NPM npm之于Node,就像pip之于Python,gem之于Ruby,composer之于PHP。 ...

  • npm 发包 学习笔记

    发布到npm 注册npm账号(已有可忽略) 新建文件夹,进入该文件夹,运行npm init,生成package.j...

  • REACT笔记1(webpack)

    以下内容为学习react中新增笔记: webpack: 1.npm install react --save-de...

网友评论

    本文标题:npm学习笔记

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