• 5.Nodejs中的包、npm、第三方模块、package.json以及cnpm


    1.包

    • Nodejs中除了它自己提供的核心模块(内置模块)外,我们可以自定义模块 ,也可以使用第三方模块Nodejs中的第三方模块由包组成,它可以通过包来对一组具有相互依赖关系的模块进行统一管理。
      在这里插入图片描述
    • CommonJs包目录规范如下:
      • package.json:包描述文件
      • bin:用于存放可执行二进制文件的目录
      • lib:用于存放JavaScript代码的目录
      • doc:用于存放文档的目录

    2.npm

    1.npm介绍
    • npm是世界上最大的开放源代码的生态系统,我们可以通过npm下载各种各样的包,这些源代码(包)我们可以在 http://www.npmjs.com 中找到。
    • npm是跟随NodeJs一起安装的包管理工具,能解决NodeJs代码部署上的很多问题,常见的使用场景有以下几种:
      • 允许用户从NPM服务器下载别人编写的第三方包到本地使用(silly-datetime
      • 允许用户从NPM服务器下载并安装别人编写的命令行程序(工具)到本地使用(supervisor
      • 允许用户将自己编写的包或命令行程序上传到NPM服务器,供别人使用。
    2.在NodeJs中通过NPM命令来下载第三方的模块(包)
    • 1.去http://www.npmjs.com网站找到自己想要安装的包

    • 2.进入项目根目录,使用下述命令进行安装

      npm i md5 --save
      
      • 1
      • --save会将包信息自动填写到package.jsondependencies
      • 安装完后会在项目内产生一个node_moudles目录,该目录就是用来存放第三方模块的,项目最终提交时,是不需要提交node_moudles这个目录的,否则项目运行会报错
      • 安装依赖包时--save会将依赖信息写入package.json文件中,所以只需要提交该文件即可,别人拿到项目后运行npm -i即可自动下载所有第三方依赖包,如果安装依赖时没有使用--save,则最终会缺少模块而导致项目无法直接运行。
    • 3.引用模块

      var md5 = require("md5")
      
      • 1
    • 4.看使用文档

    3.NPM命令详解
    • 1.npm -v:查看npm版本
    • 2.使用npm命令安装模块
      npm install ModuleName --save
      
      • 1
    • 3.使用npm命令卸载模块
      npm uninstall ModuleName
      
      • 1
    • 4.npm list查看当前目录下已安装的node
      npm list
      
      • 1
    • 5.npm info ModuleName查看ModuleName的版本
      npm info md5
      
      • 1
    • 6.指定版本安装
      npm install jquery@1.8.0
      
      • 1

    3.package.json

    1.定义
    • package.json定义了这项目所需要的各种模块以及项目的配置信息(比如名称、版本、许可证等元数据)
    2.创建package.json
    npm init
    
    • 1
    • --yes:表示
    3.package.json
    {
    	"name": "test",   // 名称
    	"version": "1.0.0",  // 版本
    	"description": "test",  // 描述
    	"main": "main.js",  // 入口
    	"keywords":[
    		"test"
    	],
    	"author": "fatpuffer",  // 作者
    	"license": "MIT",  // 许可证
    	"dependencies": {  // 依赖
    		"md5": "^2.3.0"
    	}"devDependencies": {  // 项目依赖的一些其他工具包 --save-dev
    		"md5": "^2.3.0"
    	}
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • ^:第一位版本号不变,后面两位取最新的
    • ~:表示前两位不变,最后一个取最新的
    • *:表示全部取最新的
    • :表示就安装此版本

    四.淘宝镜像

    1.官方网址
    • 1.npm包官网:http://www.npmjs.org
    • 2.npm淘宝镜像官网:https://npm.taobao.org
      • 淘宝NPM镜像是一个完整的npmjs.org镜像,可以代替官方版本,同步频率为10分钟一次,尽量保证和官方服务同步。
    2.cnpm
    • 1.我们可以使用定制的cnpm(gzip压缩支持)命令行工具代替默认的npm
      npm install -g cnpm --registry=https://registry.npm.taobao.org
      
      • 1
    • 2.使用cnpm安装第三方依赖包
      cnpm install md5 --save
      
      • 1
  • 相关阅读:
    如何通过C#/VB.NET 代码调整PDF文档的页边距
    独享IP是原生IP吗?
    《安富莱嵌入式周报》第281期:Keil Studio发布VSCode插件,微软嵌入式IDE升级,开源穿戴手表,CAN XL汽车单片机,USB4 V2.0规范
    MySQL1
    学成在线第二天
    ROS2 Foxy depthai_ros教程
    ClickHouse开发相关(UDAF)
    手写一个摸鱼神器:使用python手写一个看小说的脚本,在ide中输出小说内容,同事直呼“还得是你”
    馒头的1day漏洞巡舰系统
    C#报错 功能“结构字段初始化表达式“在C#7.3中不可用。请使用10.0或更高的语言版本。
  • 原文地址:https://blog.csdn.net/qq_42517220/article/details/126660442