NPM包管理器

参考:https://www.bilibili.com/video/BV11k4y1B7im?p=1

什么是npm?

  • npm全称是Node Package Managernpm,是一个类似应用商店的地方,是一个公共平台,js开发者们会往上面发布自己写好的代码.
  • 这些代码被称为包(package),一个包可以是一个文件夹里放着几个文件,同时有一个叫做 package.json的文件。
  • 在开发过程中,我们不需要重复造轮子,npm的出现让javascript 开发者分享、复用代码更方便。
    更重要的是,如果我们要使用模块A,而模块A又依赖于模块B,模块B又依赖于模块X和模块Y,npm可以根据依赖关系,把所有依赖的包都下载下来并管理起来。否则,靠我们自己手动管理,肯定既麻烦又容易出错。
  • npm的官方网站www.npmjs.com/,我们可以在上面浏览和搜索想要的轮子。

node安装

npm离不开node,node自带npm,node的官网是https://nodejs.org/en/download/
由于实验室电脑是win7,没法安装最新的node版本。
某人亲测,Node.js 13.14.0支持win7,下一版本Node.js 14.0.0就不支持了。node历史版本的官方下载地址:https://nodejs.org/en/download/releases/
在这里插入图片描述
报错:
Could not update environment variable ‘PATH’. verifythat you have sufficient privileges to modify environment variables.
**解决办法:**选择忽略即可。

  • 通过node -v 和npm -v可以查看是否安装成功。
  • 通过下列命令安装最新版npm,也可以指定版本。
npm install npm@latest -g

package.json文件

管理本地安装npm包的最好方式就是创建package.json文件。一个 package.json文件可以有以下几点作用:

  • 作为一个描述文件,描述了你的项目依赖哪些包;
  • 允许我们使用“语义化版本规则”(后面介绍)指明你项目依赖包的版本
  • 让你的构建更好地与其他开发者分享,便于重复使用。你在上传本地项目时,可以不需要上传项目所依赖的包(体积太大),使用者通过你的package.json就可以知道需要下载哪些包那些版本,使用者可以自己去下载。
一、package.json如何创建
  • 使用npm init即可在当前目录创建一个 package.json文件;
  • 输入npm init 后会弹出一堆问题,我们可以输入对应内容,也可以使用默认值。在回答一堆问题后输入yes就会生成图中所示内容的package.json文件;
  • 如果嫌回答这一大堆问题麻烦,可以直接输入npm init --yes跳过回答问题步骤,直接生成默认值的 package. json 文件;
二、package.json的内容

package.json文件至少要有两部分内容:

  1. “name"
    全部小写,没有空格,可以使用下划线或者横线
  2. “version"
    x.x.x的格式
    符合“语义化版本规则”
    比如:
"name" : "demo-package" ,
"version": "1.0.0"

其他内容:

  • description:描述信息,有助于搜索;
  • main :入口文件,一般都是index.js;
  • scripts:支持的脚本,默认是一个空的test。其实相当于执行npm run 脚本名称
  • keywords:关键字,有助于在人们使用npm search搜索时发现你的项目
  • author:作者信息
  • license :默认是MIT
二、指定依赖的包

我们需要在 package.json 文件中指定项目依赖的包,这样别人在拿到这个项目时才可以使用npm install 下载。包有两种依赖方式:

  1. dependencies : 在生产环境中需要用到的依赖,有些依赖不仅是用户使用过程中需要用到,开发测试也需要用到的 (通过 npm install xxx 来安装,下载下来的包会被放在node_modules文件夹下)
  2. devDependencies : 在开发、测试环境中用到的依赖 (通过 npm install xxx -D 来安装)
    有了package.json时,使用npm install会安装上面所有的依赖自动安装。

通过下列的方式引入node_modules里的包:

const $=require( 'jquery ' );
console.log($.ajax());

// require(名字)它是直接在node_modules中去寻找这个名字对应的文件夹的﹑ 找不到就报错
// require( ' ./名字')会在指定路径里面查找js后缀名可以忽略

也可导入自己写的js文件,指定路径:

const foo = require('./conf.js')

con.js要导出才行:

module.exports = 123;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值