包与 NPM

1. 包

Nodejs 中除了它自己提供的核心模块外,可以自定义模块,也可以使用第三方的模块。Nodejs 中第三方模块由包组成,可以通过包来对一组具有相互依 赖关系的模块进行统一管理。

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

  • package.json :包描述文件。

  • bin :用于存放可执行二进制文件的目录。

  • lib :用于存放 JavaScript 代码的目录。

  • doc :用于存放文档的目录。


NodeJs NPM 命令来下载第三方的模块(包)。

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

NPM介绍

  1. npm 是世界上最大的开放源的生态系统,通过npm可以下载各种各样的包,这些源代码(包)我们可以在 https://www.npmjs.com 找到。
    npm 是随同 NodeJS 一起安装的包管理工具,能解决 NodeJS 代码部署上的很多问题,

    常见的使用场景有 以下几种:

    1.  允许用户从 NPM 服务器下载别人编写的第三方包到本地使用。

    2.  允许用户从 NPM 服务器下载并安装别人编写的命令行程序(工具)到本地使用。

       允许用户将自己编写的包或命令行程序上传到 NPM 服务器供别人使用。


NPM 命令详解

1.npm -v 查看 npm 版本

2.使用 npm 命令安装模块

npm install
安装 jq 模块:

Module Name
npm install jquery

3.npm uninstall moudleName 卸载模块

npm uninstall ModuleName

4.npm list 查看当前目录下已安装的 node 包

npm list

5.npm  info jquery 查看 jquery的版本

npm info 模块 //查看模块的版本

6.指定版本安装:npm install jquery@1.8.0


package.json

package.json 定义了这个项目所需要的各种模块,以及项目的配置信息(比如名称、

版本、许可证等元数据)

1.创建 package.json

npm init
npm init –yes

2、package.json 文件

{
"name": "commonjs_demo",
"version": "1.0.0",
"description": "",
"main": "commonjs01.js",
"dependencies": {
"nav": "^1.0.0"
},
"devDependencies": {},
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"keywords": [],
"author": "",
"license": "ISC"
}

安装模块并把模块写入 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 字段值;

depende ncie 配置当前程序所依赖的其他包。

devDepende ncie配置当前程序所依赖的其他包,只会下载块,而不会下载这些模块的测试和文档框架。

"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的更多相关文章

  1. 十二、Nodejs 包与 NPM 第三方模块安装 package.json 以及 CNPM

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

  2. 详解npm的模块安装机制

    详解npm的模块安装机制 依赖树表面的逻辑结构与依赖树真实的物理结构 依赖树表面的逻辑结构与依赖树真实的物理结构并不一定相同! 这里要先提到两个命令:tree -d(linux)和npm ls(npm ...

  3. Python入门之第三方模块安装

    Python入门之第三方模块安装 平台:Win10 x64 + Anaconda3-5.3.0 (+Python3.7.0) Issue说明:pip install line_profiler-2.1 ...

  4. python基础-7模块,第三方模块安装方法,使用方法。sys.path os sys time datetime hashlib pickle json requests xml

    模块,用一砣代码实现了某个功能的代码集合. 类似于函数式编程和面向过程编程,函数式编程则完成一个功能,其他代码用来调用即可,提供了代码的重用性和代码间的耦合.而对于一个复杂的功能来,可能需要多个函数才 ...

  5. 循序渐进nginx(三):日志管理、http限流、https配置,http_rewrite模块,第三方模块安装,结语

    目录 日志管理 access_log error_log 日志文件切割 自定义错误页 http访问限流 限制请求数 语法 使用 限制连接数 语法 测试 补充: https配置 使用 生成证书 配置ng ...

  6. nginx第三方模块安装方法

    nginx第三方模块安装方法 ./configure --prefix=/你的安装目录 --add-module=/第三方模块目录 比如echo模块. 没安装前,使用测试. location /tes ...

  7. Python的第三方模块安装

    python的第三方模块安装一般使用python自带的工具pip来安装. 1.在Windows下,在安装python时勾选[安装pip]和[添加python至环境变量]. 如果在python安装目录的 ...

  8. 关于npm 淘宝镜像 以及package.json里包的更新

    1.淘宝镜像的设置 npm config set registry https://registry.npm.taobao.org npm config set disturl https://npm ...

  9. Nodejs——包与NPM

    在模块之外,包和NPM则是将模块联系起来的一种机制. CommonJS的包规范由包结构和包描述文件组成. 包实际上是一个存档文件,即一个目录直接打包为.zip或tar.gz格式的文件. 完全符合Com ...

随机推荐

  1. linux 常用工具记录及简介

    前言 linuxz虽然各种软件的生态还比较差,但是大势所趋,早晚都是要用的.记录下自己常用的软件,要是那天系统崩了重装也舒服点 编程工具 pycharm专业版(社区版也能用,只是用惯了专业版) * 下 ...

  2. PHP中的生成器

    python中有的,php一样不落下呀. <?php //生成器 //生成器代理 //生成器返回表达示 function gen1() { yield '1'; yield '2'; yield ...

  3. 指针数组(int *a[])和数组指针 (int (*a)[])

    1.对指针有关的表达式阅读遵循的规则是“从右到左.由近到远.括号优先”. int *a[10]   从字符a开始,右侧是[10],表示a 为一个包含10个元素的数组,左侧为指针标记,表示这个数组中保存 ...

  4. JVM 性能调优工具

    jdk自带的工具,在macOs系统中的目录位置(jdk具体版本位置要替换):/Library/Java/JavaVirtualMachines/jdk1.8.0_191.jdk/Contents/Ho ...

  5. python基础语法1 用户交互,基本数据类型,格式化输出,运算符

    与用户交互: 输入: python2: input一定要声明你输入的类型 >>> input(">>:") >>:sean Traceba ...

  6. Vue 实例暴露了一些有用的实例属性与方法。这些属性与方法都有前缀 $,以便与代理的 data 属性区分

    var data = { a: 1 } var vm = new Vue({ el: '#example', data: data }) vm.$data === data // -> true ...

  7. Wbbpack --3配置

    Wbbpack --3配置 什么是webpack webpack 是一个现代 JavaScript 应用程序的静态模块打包(modulebundler)当 webpack 处理应用程序时,它会递归地构 ...

  8. asyncapi 指南

    asyncapi 是可以用来创建异步机器可读定义api的指南,我们可以用来创建事件驱动的架构. 说明 asyncapi 的定义类似openapi,目前指南版本为2.0,很值得学习下 参考资料 http ...

  9. ESA2GJK1DH1K微信小程序篇: 测试微信小程序扫描Air202上面的二维码绑定设备,并通过MQTT控制设备

    前言 一,微信小程序篇小程序下载(该功能为小程序篇基础功能源码) 实现功能概要 微信小程序通过扫描GPRS上的二维码,绑定GPRS设备.然后使用小程序通过GPRS远程控制开发板上的继电器, 远程显示单 ...

  10. LOJ#6229. 这是一道简单的数学题(莫比乌斯反演+杜教筛)

    题目链接 \(Description\) 求\[\sum_{i=1}^n\sum_{j=1}^i\frac{lcm(i,j)}{gcd(i,j)}\] 答案对\(10^9+7\)取模. \(n< ...