前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >爬虫工程师也应该会的 NodeJS 知识(二)

爬虫工程师也应该会的 NodeJS 知识(二)

作者头像
咸鱼学Python
发布2020-07-10 11:46:32
4360
发布2020-07-10 11:46:32
举报

NPM 是什么?

在了解 NPM 之前,我们需要理解 NodeJS 中包和模块是什么?

简单来说,一个模块是一个单独的文件, 一个包中可以有一个或多个模块。

而在 NodeJS 中为了方便开发人员发布、安装和管理包,,NodeJS 推出了一个包管理工具 NPM ( Node Package Manager )。

NPM 不需要我们单独安装,只要搭建好 NodeJS 环境就已经自动安装好了

NPM就相当于电脑上的软件管家,通过 NPM 我们可以快速找到我们需要的包,可以快速安装我们需要的包, 可以快速删除我们不想要的包等等。

NPM 的使用

NPM 包的安装方式

1、全局安装

全局安装一般用于安装全局使用的工具,存储在全局 node_modules 中。

# 安装包
npm install -g 包名   # 默认安装最新版本
# 卸载包
npm uninstall -g 包名
# 更新包
npm update -g 包名   # 更新失败可以直接使用install

2、本地安装

本地安装一般用于安装当前项目使用的包, 存储在当前项目node_modules中

# 安装包
npm install 包名
# 卸载包
npm uninstall 包名
# 更新包
npm update 包名

关于 NPM 中的 package.json

在我们创建一个项目的时候,我们项目目录下是没有 package.json 这个文件的,所以我们初始化本地包后可以自动生成

npm init

我们可以打开这个文件来看看文件的内容

在包描述文件 package.json 中定义了当前项目所需要的各种模块,以及项目的配置信息(比如名称、版本、许可证等元数据)。npm install 命令根据这个配置文件,自动下载所需的模块,也就是配置项目所需的运行和开发环境

注意点:package.json 文件中, 不能加入任何注释

在 package.json 中有两个配置项需要我们注意:

  • dependencies:生产环境包的依赖,一个关联数组,由包的名称和版本号组成
  • devDependencies:开发环境包的依赖,一个关联数组,由包的名称和版本号组成

当我们在安装包时使用npm install 包名 --save 安装的包名会在dependencies这个配置项中体现出来。

当我们在安装包时使用npm install 包名 --save-dev 安装的包名会在devDependencies这个配置项中体现出来。

当我们将项目拷贝给其它人,或者发布的时候,我们不会将项目中的 node_modules 也给别人,因为太大,而且有的包可能只在开发阶段需要,但是在上线阶段不需要,所以需要分开指定

所以在将项目发布的时候可以使用下面的命令来配置对应的环境

npm i               所有的包都会被安装
npm i --production  只会安装dependencies中的包
npm i --development  只会安装devDependencies中的包

这就时 NPM 方便的地方。

下载 Node 包太慢怎么办?

不少读者在使用 NPM 的时候面临一个问题就是使用 NPM 安装包太慢了,可以试试使用 nrm

方法一 - nrm

由于 npm 默认回去国外下载资源, 所以对于国内开发者来说下载会比较慢所以就有人写了一个nrm工具,允许你将资源下载地址从国外切换到国内。

具体使用可以试试下面的命令

npm install -g nrm # 安装NRM
nrm --version #查看是否安装成功
npm ls    # 查看允许切换的资源地址
npm use taobao  #将下载地址切换到淘宝

使用方式直接使用 npm install 包名 即可。

方法二 - cnpm

cnpm 就是将下载源从国外切换到国内下载, 只不过是将所有的指令从npm变为cnpm而已

npm install cnpm -g –registry=https://registry.npm.taobao.org  # 安装CNPM
cnpm -v  # 查看是否安装成功

使用方式同 npm, 例如:npm install jquery 变成cnpm install jquery即可

其实除了 npm 外,Facebook、Google、Exponent 和 Tilde 联合推出了一个新的 JS 包管理工具 Yarn 。

Yarn 是为了弥补 npm5.0之前 的一些缺陷而出现的,不过对于爬虫工程师来说,npm 已经完全够用了。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-07-07,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 咸鱼学Python 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • NPM 是什么?
  • NPM 的使用
    • NPM 包的安装方式
      • 关于 NPM 中的 package.json
        • 方法一 - nrm
        • 方法二 - cnpm
    • 下载 Node 包太慢怎么办?
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档