当前位置: 首页 > news >正文

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

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

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

3.package.json

1.定义
  • package.json定义了这项目所需要的各种模块以及项目的配置信息(比如名称、版本、许可证等元数据)
2.创建package.json
npm init
  • --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.官方网址
  • 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
    
  • 2.使用cnpm安装第三方依赖包
    cnpm install md5 --save
    

相关文章:

  • 如何使用Google Analytics跟踪WordPress网站的用户参与度
  • 大型医院his系统源码 医院信息管理系统源码 C/S架构
  • EN 16069建筑物用隔热产品.工厂制造的聚乙烯泡沫(PEF)产品—CE认证
  • UE4 源码解析----引擎初始化流程
  • 叶酸PEG衍生物​DBCO-PEG-Folate,DBCO-PEG-FA,二苯基环辛炔-聚乙二醇-叶酸
  • 【dll】windows下使用vs编译动态链接库dll与使用
  • 2022年ios证书最新申请流程
  • 普冉 PY32F003 资料和入坑方法
  • springboot+微信小程序健康饮食系统毕业设计源码280920
  • 介绍日本日置IM7583阻抗分析仪
  • 如何开始做股票量化交易?
  • 1446_TC275 DataSheet阅读笔记7_部分管脚功能的梳理
  • 优化算法|MOAVOA:一种新的多目标人工秃鹰优化算法(Matlab代码实现)
  • 基于Springboot+vue的茶叶销售商城网站 elementui
  • goframe的学习
  • [分享]iOS开发 - 实现UITableView Plain SectionView和table不停留一起滑动
  • bootstrap创建登录注册页面
  • CSS盒模型深入
  • Debian下无root权限使用Python访问Oracle
  • Docker下部署自己的LNMP工作环境
  • Druid 在有赞的实践
  • laravel 用artisan创建自己的模板
  • react-native 安卓真机环境搭建
  • 基于HAProxy的高性能缓存服务器nuster
  • 最简单的无缝轮播
  • MiKTeX could not find the script engine ‘perl.exe‘ which is required to execute ‘latexmk‘.
  • Hibernate主键生成策略及选择
  • ​iOS实时查看App运行日志
  • #Linux(权限管理)
  • (13)Latex:基于ΤΕΧ的自动排版系统——写论文必备
  • (C#)Windows Shell 外壳编程系列9 - QueryInfo 扩展提示
  • (差分)胡桃爱原石
  • (附源码)springboot宠物医疗服务网站 毕业设计688413
  • (四)【Jmeter】 JMeter的界面布局与组件概述
  • (最全解法)输入一个整数,输出该数二进制表示中1的个数。
  • .NET 6 Mysql Canal (CDC 增量同步,捕获变更数据) 案例版
  • .net 8 发布了,试下微软最近强推的MAUI
  • .NET 中使用 Mutex 进行跨越进程边界的同步
  • .net访问oracle数据库性能问题
  • .NET开源项目介绍及资源推荐:数据持久层 (微软MVP写作)
  • .NET中两种OCR方式对比
  • @31省区市高考时间表来了,祝考试成功
  • @manytomany 保存后数据被删除_[Windows] 数据恢复软件RStudio v8.14.179675 便携特别版...
  • @property括号内属性讲解
  • @RequestBody的使用
  • [Android Studio] 开发Java 程序
  • [AX]AX2012开发新特性-禁止表或者表字段
  • [cocos creator]EditBox,editing-return事件,清空输入框
  • [E链表] lc83. 删除排序链表中的重复元素(单链表+模拟)
  • [FZSZOJ 1223] 上海红茶馆
  • [NSSCTF 2nd] web刷题记录
  • [one_demo_10]递归解决汉诺塔问题
  • [OS-Linux] CentOS 7.x 使用密钥登录安全设置
  • [Python进阶] 消息框、弹窗:pywin32
  • [Python人工智能] 四十二.命名实体识别 (3)基于Bert+BiLSTM-CRF的中文实体识别万字详解(异常解决中)