Nodejs 中的包、npm 、第三方模块、 package.json 以及 cnpm
一、包与 NPM
- 包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 命令详解。
- npm -v 查看 npm 版本
- 使用 npm 命令安装模块
npm install Module Name 如安装 jq 模块:
npm install jquery
- npm uninstall moudleName 卸载模块
npm uninstall ModuleName
- npm list 查看当前目录下已安装的 node 包
npm list
- npm info jquery 查看 jquery 的版本
npm info 模块 //查看模块的版本
- 指定版本安装
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
Nodejs 中的包、npm 、第三方模块、 package.json 以及 cnpm相关推荐
- npm使用入门(package.json)
npm使用入门 crazygit 关注 2017.03.10 18:31 字数 1773 阅读 1617评论 0喜欢 10 NPM是什么 npm npm makes it easy for JavaS ...
- 5.Nodejs中的包、npm、第三方模块、package.json以及cnpm
1.包 Nodejs中除了它自己提供的核心模块(内置模块)外,我们可以自定义模块 ,也可以使用第三方模块.Nodejs中的第三方模块由包组成,它可以通过包来对一组具有相互依赖关系的模块进行统一管理. ...
- Nodejs 包与 NPM 第三方模块安装和 package.json 以及 CNPM
包与 NPM Nodejs 中除了它自己提供的核心模块外,我们可以自定义模块,也可以使用 第三方的模块.Nodejs 中第三方模块由包组成,可以通过包来对一组具有相互依 赖关系的模块进行统一管理. 完 ...
- mac如何导入python第三方库_Mac系统中python idle导入第三方模块成功,ecplise导入python第三方模块失败解决方法...
遇到一个比较纠结了4个月的问题,一直没有在意,今天实在忍受不了,尝试各种解决办法,终于把这个烦人的问题完美解决,不敢独享,写出来和各位大神共享. 问题:在mac OSx操作系统下,安装了python第 ...
- npm依赖文件package.json中^和~的含义
想知道'^'是干嘛的,就要了解npm的语义版本控制.如果 Node.js 软件包中有一件很棒的事情,那就是它们都同意使用语义版本控制作为版本编号.语义版本控制的概念很简单:所有的版本都有 3 个数字: ...
- [转]npm生成的package.json文件中依赖项版本号前的波浪号(~)和插入符号(^)是啥意思?
package.json一般也就长这么模样: {"name": "","description": "","v ...
- npm生成的package.json文件中依赖项版本号前的波浪号(~)和插入符号(^)是啥意思?
package.json一般也就长这么模样: {"name": "","description": "","v ...
- npm系列:package.json
1.关于packag.json的基础知识 这还是我最熟悉的package.json吗? 2.npm发包流程 npm发包流程 - 知乎 3.sh: vue-cli-service: command no ...
- NPM 安装 TypeScript 和 npm 的 Invalid package.json 错误以及运行第一个typescript程序
TypeScript 是 JavaScript 的一个超集,支持 ECMAScript 6 标准(ES6 教程). TypeScript 由微软开发的自由和开源的编程语言. TypeScript 设计 ...
最新文章
- 如何找回误删并清除了回收站的文档
- 高斯混合模型--GMM(Gaussian Mixture Model)
- Hadoop:mapreduce的splitsize和blocksize
- sqlwarning mysql_mysql提示[Warning] Invalid (old?) table or database name问题的解决方法
- 未能加载文件或程序集“Autofac, Version=3.4.0.0,
- 视频图像处理基础知识0(双线性插值算法进行图像缩放)【转】
- weblogic下载及安装
- 使用js-xlsx纯前端导出excel
- 数据分析面试都会问到哪些问题
- Python 四大名著词频画图
- 数据可视化_科学统计图表5——ggplot绘制南丁格尔玫瑰图
- QGIS二次开发01---临时绘制图层实现
- FPGA入门实验-基于状态机实现4位共阴极数码管显示超声波模块读数
- 爱创课堂源生javascript 共150课时
- 华硕电脑一开机就等待按F1然后自动进入BIOS界面如何解决
- python常用的集成开发工具,python的主流开发工具
- ipad发布会ipad_如何在iPad上调试网站
- 网易企业邮箱删除的的邮件服务器,网易企业邮箱进行全选删除移动操作步骤说明...
- bootstrap设置默认主题皮肤
- SFM4300流量传感器应用笔记
热门文章
- Django项目--首页静态化
- android自定义金额输入键盘_Android 自定义控件 - 仿支付宝数字键盘
- Python 包管理之 poetry
- 如何发现优秀的开源项目?
- 如何在一个html页面中提交两个post,如何在同一个页面上从Django和Ajax获得多个post请求?...
- linux 最强shell,最牛B 的 Linux Shell 命令(一)
- 使用Vue写一个登陆页面并在管理页面查看和修改
- 第九章 图形用户界面的并行化(待续)
- JZOJ 5776. 【NOIP2008模拟】小x游世界树
- 什么时候需要好教材和好教材是怎样的