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

一、包与 NPM

  1. 包Nodejs 中除了它自己提供的核心模块外,我们可以自定义模块,也可以使用第三方的 模块。Nodejs 中第三方模块由包组成,可以通过包来对一组具有相互依赖关系的模块进行 统一管理。
    在这里插入图片描述

完全符合 CommonJs 规范的包目录一般包含如下这些文件。

  • package.json :包描述文件。
  • bin :用于存放可执行二进制文件的目录。
  • lib :用于存放 JavaScript 代码的目录。
  • doc :用于存放文档的目录。

在 NodeJs 中通过 NPM 命令来下载第三方的模块(包):
例如:
https://www.npmjs.com/package/silly-datetime

npm i silly-datetime –save 
var sd = require('silly-datetime'); 
sd.format(new Date(), 'YYYY-MM-DD HH:mm');

二、 NPM 介绍

npm 是世界上最大的开放源代码的生态系统。我们可以通过 npm 下载各种各样的包, 这些源代码(包)我们可以在 https://www.npmjs.com 找到。

npm 是随同 NodeJS 一起安装的包管理工具,能解决 NodeJS 代码部署上的很多问题,
常见的使用场景有以下几种:

  • 允许用户从 NPM 服务器下载别人编写的第三方包到本地使用。(silly-datetime)
  • 允许用户从 NPM 服务器下载并安装别人编写的命令行程序(工具)到本地使用。 (supervisor)
  • 允许用户将自己编写的包或命令行程序上传到 NPM 服务器供别人使用。

三、NPM 命令详解。

  1. npm -v 查看 npm 版本
  2. 使用 npm 命令安装模块
npm install Module Name 如安装 jq 模块:
npm install jquery
  1. npm uninstall moudleName 卸载模块
 npm uninstall ModuleName
  1. npm list 查看当前目录下已安装的 node 包
npm list
  1. npm info jquery 查看 jquery 的版本
 npm info 模块 //查看模块的版本
  1. 指定版本安装 npm install jquery@1.8.0

四、package.json

package.json定义了这个项目所需要的各种模块,以及项目的配置信息(比如名称、版本、 许可证等元数据)
1、创建 package.json

 npm init 或者 npm init –yes 

2、package.json 文件

{"name": "demo6","version": "1.0.0","description": "","main": "02-第三方包mkdirp.js","scripts": {"test": "echo \"Error: no test specified\" && exit 1"},"keywords": [],"author": "","license": "ISC","dependencies": {"mkdirp": "^1.0.4"}
}

3、安装模块并把模块写入 package.json(依赖)

npm install babel-cli --save-dev 
npm install 模块 --save 
npm install 模块 --save-dev

4、dependencies 与 devDependencies 之间的区别?
使用 npm install node_module –save 自动更新 dependencies 字段值;
使用 npm install node_module –save-dev 自动更新 devDependencies 字段值;

dependencie 配置当前程序所依赖的其他包。
devDependencie 配置当前程序所依赖的其他包,比如一些工具之类的配置在这里

"dependencies": { "ejs": "^2.3.4", "express": "^4.13.3","formidable": "^1.0.17" }

^表示第一位版本号不变,后面两位取最新的
~表示前两位不变,最后一个取最新
*表示全部取最新

五、安装淘宝镜像

http://www.npmjs.org npm 包官网
https://npm.taobao.org/ 淘宝 npm 镜像官网

淘宝 NPM 镜像是一个完整 npmjs.org 镜像,你可以用此代替官方版本(只读),同步频 率目前为 10 分钟 一次以保证尽量与官方服务同步。

我们可以使用我们定制的 cnpm (gzip 压缩支持) 命令行工具代替默认的 npm:

npm install -g cnpm --registry=https://registry.npm.taobao.org

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/470761.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

神经网络中BP(back propagation)到底在干些什么

前言 想要理解神经网络的工作原理,反向传播(BP)是必须搞懂的东西。BP其实并不难理解,说白了就是用链式法则(chain rule)算算算。本文试图以某个神经网络为例,尽可能直观,详细,明了地说明反向传播的整个过程。 正向传…

Nodejs 新特性 async await 的使用 以及使用 async await 处理异步

1. let 和 var 2. const定义常量 3. 模板字符串 4. 属性简写 5. 方法简写 6. 箭头函数 7. 回调函数 7. Promise 8. async 和 await

leetcode 高薪_LeetCode 第 125 号问题:验证回文串

本文首发于公众号「五分钟学算法」,是图解 LeetCode 系列文章之一。个人网站:https://www.cxyxiaowu.com题目来源于 LeetCode 第 125 号问题:验证回文串。这道题目是 初级程序员 在面试的时候经常遇到的一道算法题,而且面试官喜欢…

从拉格朗日乘子法到SVM

前言 本文主要是讲了如何构建SVM的模型,并利用KKT条件构造其对偶型,从而求解问题,并讲述了SVM的硬间隔,软间隔和核函数三个境界。主要参考了周志华的《机器学习》,并在其中补充了自己的想法。由于内容较多&#xff0c…

nodejs 创建一个静态资源服务器 +路由

0、补充 1、Node.js 创建的第一个应用 1、引入 http 模块 var http require("http"); 2、创建服务器 接下来我们使用 http.createServer() 方法创建服务器,并使用 listen 方法绑定 3000 端口。 函数通过 request, response 参数来接收和响应数据。 co…

python输出字体的大小_Python密码学编程:文件的加密与解密

在之前的章节中,编写的程序只能操作较少的信息,这些信息往往是以字符串的形式直接写在代码中的。但本章中的程序可以对整个文件进行加密和解密,文件的大小可以包括成千上万个字符。本章要点open()方法。读、写文件。write()、close()及read()…

电脑k歌软件_金麦客专业k歌app下载|金麦客专业k歌软件 手机安卓版v1.1.5.0 下载...

金麦客专业k歌app能够让用户通过手机直接连接电视,从而在安卓端实现金麦客点歌的目的,平台包含上万高清mv资源,让用户在歌唱时能够更好的代入氛围中,并且还能通过网络直接搜歌,从而在线下载播放,用户在演唱…

Nodejs ejs模板引擎

官方网站:https://www.npmjs.com/package/ejs 我们学的 EJS 是后台模板,可以把我们数据库和文件读取的数据显示到 Html 页面上面。它 是一个第三方模块,需要通过 npm 安装 npm install ejs –save 或者 cnpm install ejs --saveNodejs 中使用…

linux can总线接收数据串口打包上传_关于串口,你需要知道这些!!

嵌入式设备在电路中交换信息的时候必须通过共享一个通用的协议。现在嵌入式系统中已经定义了数百种通信协议来实现数据交换,一般来说可以将其分为两类:并行或串行。并行传输数据是指同时传输多个数据位,它们通常需要数据线和时钟线配合工作&a…

div里嵌套了img底部会有白块问题和图片一像素问题解决

div里嵌套了img底部会有白块 因为img默认是按基线(baseline)对齐的。对比一下图片和右边的p, q, y等字母,你会发现这三个字母的“小尾巴”和图片下方的空白一样高。下面这张图中的黑线就是那条基线。 解决方案:一:vertical-align: bottom&…

Nodejs 中的Get、Post

Get、Post 超文本传输协议(HTTP)的设计目的是保证客户端机器与服务器之间的通信。 在客户端和服务器之间进行请求-响应时,两种最常被用到的方法是:GET 和 POST。 GET - 从指定的资源请求数据。(一般用于获取数据&#…

电脑故障扫描修复软件_电脑故障分析:电脑安装软件提示没有权限的解决方法...

我们安装软件时如果没有权限就会导致安装故障,最近就有用户安装软件的时候出现了无法将数值写入键software的错误提示,请验证您对该键拥有足够的访问权限,或者与您的技术支持人员联系。那么遇到这种问题该怎么办呢?接下来就让我们…

Nodejs 路由封装 封装一个类似 express 的路由

1、模块化的方式封装 routes.js: const http require(http); const fs require(fs); const path require(path) const url require(url) const ejs require(ejs) let getFileMime function (extname) {// 把异步读取文件方法改为同步读取文件方法let data fs.readFileSy…

天翼网关 ddns设置_19,微服务网关之Zuul

这一次给大家分享微服务网关的相关知识,这个也是微服务架构中,相当重要的组件之一,来,下面听我徐徐道来1,API网关概览1.1,现有的交互模式存在什么问题?目前,是客户端会直接跟多个微服…

MongoDB 数据库创建、删除、表(集合) 创建删除、数据的增、删、改、查

一、 连接数据库 1、连接数据库 清屏命令:cls 查看所有数据库列表:show dbs 二、 创建数据库、查看、删除数据库 1、使用数据库、创建数据库 use itying 如果真的想把这个数据库创建成功,那么必须插入一个数据。 数据库中不能直接插入数据&#xff0…

从LeetCode 210. Course Schedule II 了解拓扑排序

问题简述 给定n节课,每节课按0~n-1编号。 在修某些课的时候需要有其它课的基础,必须先上先修课。现在用pair的形式来表示要先修的课,比如 [ [0,1], [1,2] ] 就表示在修课程1之前必须先修课程0,修课程2之前必须修课程1。现在需要给…

MongoDb 大数据查询优化、 MongoDB 索引、复合索引、唯一索引、 explain 分 析查询速度

一、索引基础 索引是对数据库表中一列或多列的值进行排序的一种结构,可以让我们查询数据库变得 更快。 MongoDB 的索引几乎与传统的关系型数据库一模一样,这其中也包括一些基本的查询优化技巧。 下面是创建索引的命令: db.user.ensureIndex…

ipconfig不是内部或外部_晶振有什么作用,如何选择合适的晶振,为什么有时候用内部晶振?...

一、 什么是晶振晶振,全名叫"晶体振荡器",它在电路当中起到产生振荡频率的作用,我们都知道,单片机可以看成是在时钟驱动下的时序逻辑电路,那么这个所需要的时钟就是晶振来产生,可以说它的单片机的…

Mongodb 账户权限配置

Mongodb 账户权限配置 1、第一步创建超级管理用户 use admindb.createUser({ user:admin, pwd:admin, roles:[{role:root,db:admin}] })2、第二步修改 Mongodb 数据库配置文件 默认路径:路径:C:\Program Files\MongoDB\Server\4.0\bin\mongod.cfg 打开…

笔记本电脑关机快捷键_2020年双十一值得入手的高性价比笔记本电脑外设推荐...

本文更新日期:2020.10.21 篇幅较长,请提前收藏关注电脑外设就是除主机外的大部分硬件设备都可称作外部设备,或叫外围设备,简称外设。计算机系统没有输入输出设备,就如计算机系统没有软件一样,是毫无意义的。…