node.js 第三方模块的应用

首先我们要先知道什么是第三方模块以及怎样获取应用

第三方模块就是别人写好的,具有特定功能的模块,我们需要下载才可以使用。

获取第三方模块:npmjs.com  储蓄和分发第三方模块的仓库

 

在终端中使用npm命令下载第三方模块

  npm是随node一起安装的包管理工具,只要安装了node就可以使用npm。

 npm的作用:

         1.允许用户从npm服务器下载别人写好的第三方模块到本地使用。

         2.允许用户从npm服务器下载别人写好的命令行程序到本地使用。

         3.允许用户上传自己写好的第三方模块和命令行程序到npm服务器上。

npm下载模块

npm install 模块名      可以简写为npm i 模块名

执行以上命令后,会在当前命令行所在的目录下多一个node-moduls文件夹,下载好的第三方模块就存放在这个文件夹下面。

 

npm 卸载模块:     npm uninstall 模块名

 

nodemon

      nodemon是一个命令行工具,用以辅助项目开发,每次修改文件都会自动重新执行该文件,不需要再手动执行。

  

    全局安装与本地安装

     本地安装:把模块和命令行按照到当前文件夹下,只能在当前目录下使用。

        第三方包/模块  是安装在本地的

  

     全局安装:安装完成后,在命令行中任意目录都可以使用。

         全局安装: 在安装模块时,在后面添加 -g

           npm i 模块名 -g

       命令行工具安装在全局,以便随时随地调用。

  

    解决方法:1.window+r 输入powershell

           2.执行:set-ExecutionPolicy RemoteSigned

  

   使用nrm 源管理器。

     node的服务器是在国外的,下载是非常慢的。

     如果想要下载的快,可以使用国内的镜像库。

   安装:

     npm i nrm -g                  查看可用的源

     nrm ls           切换源

    nrm use 地址名称

  

 错误解决方法:

   1.根据错误提示,找到cli.js,一般是

 C:\Users\Administrator\AppData\Roaming\npm\node_modules\nrm\cli.js

   2.将第17行的数据修改为以下代码:  const NRMRC = path.join(process.env[(process.platform == 'win32') ? 'USERPROFILE' : 'HOME'], '.nrmrc');

 

  node_modules的问题

       如果我们在项目中下载了很多第三方模块,那么别人拷贝你的项目时就会特别的慢。

   package.json

      每个项目的根目录下,一般都会有一个package.json文件,定义了这个项目需要哪些模块,以及该项目的配置信息(项目名,作者,版本,许可证等)

  

   创建package.json文件

       npm init    需要填写配置信息。如果不想填写,直接一路回车。

       npm init -y 快速生成


   {
      "name": "demo", //项目名称
      "version": "1.0.0", //项目版本
      "description": "", //简介
      "main": "index.js", //入口文件
      //脚本
      "scripts": {
        "test": "echo \"Error: no test specified\" && exit 1"
      },
      "author": "", //作者
      "license": "ISC" //开源许可证
    }

  

   package-lock.json 用于锁定版本,防止多人开发时,使用不同的第三方包的版本。

   package.json重要字段

     dependencies    生产环境依赖模块

     devDependencies 开发环境依赖模块 

     scripts:脚本

  

   一些第三方类库只需要在开发时使用,不需要在生产环境上部署,则可以将它安装在开发环境依赖模块下。

   npm install 模块名 -D  开发环境

   npm install 模块名 -S  生成环境 

 

yarn也是一个包资源管理器,与npm的功能是一样的。 不过yarn的下载速度更快。

 下载使用:

   用npm去下载

   npm i yarn -g

   

   初始化项目:创建package.json

     yarn init

     yarn init -y 快速生成 

  

   安装单个依赖

     yarn add 模块名

 

   安装项目中所有的依赖

     yarn install

 

   卸载依赖

     yarn remove 模块名

 

模块加载机制

     1.模块名有路径,并且有后缀

         通过路径,引入相关的模块。

     2.当模块有路径,但是没有后缀的时候

         2.1 会先找路径下同名的js文件。

         2.2 再找路径下同名的文件夹,找文件夹下的index.js

         2.3 如果文件夹下有package.json 会找文件中的main字段 入口文件。

         2.4 如果找不到,就报错。

     3.模块没有路径也没有后缀。

         3.1 node会判断它是否为内置模块,是内置就加载

         3.2 不为内置,则去第三方模块中查找,去node_modules中查找。

      

  

 

 

 

 

 

 

 

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值