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


    1. 包

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

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

    2. NPM 介绍

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

    例如我们想导入一个格式化时间的包: silly-datetime

    点击搜索之后我们可以看到下面的页面:

    点击第一个我们想要下载的包进入下面的页面:

    注意,上述安装命令要在我们项目目录下进行:

    npm 是随同 NodeJS 一起安装的包管理工具,能解决 NodeJS 代码部署上的很多问题,
    常见的使用场景有以下几种:
     允许用户从 NPM 服务器下载别人编写的第三方包到本地使用。(silly-datetime)
     允许用户从 NPM 服务器下载并安装别人编写的命令行程序(工具)到本地使用。
    (supervisor)
     允许用户将自己编写的包或命令行程序上传到 NPM 服务器供别人使用。

    三、NPM 命令详解。

    1.npm  -v查看npm版本

    2. 使用 npm 命令安装模块

    npm install Module Name
    如安装 jq 模块:
    npm install jquery

    3. npm uninstall moudleName 卸载模块

    npm uninstall ModuleName

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

    npm list

    5.  查看模块的版本例如查看 jquery 的版本

    //npm info 模块 
    npm info jquery

    6. 指定版本安装

    npm install jquery@1.8.0

    三、package.json

    随着项目地开发,我们可能会用到很多很多第三方包,这些包文件会很多,将来我们如果需要拷贝项目到其他机器,或者发送项目给其他人,我们一般不会把node_modules文件夹以及里面的包一起拷贝发送的,那怎么办呢?别人怎么获取包呢?这个时候我们可以使用package.json文件记录下我们项目引入的第三方包的各种信息,例如,包名,版本等等,我们拷贝项目的时候只需要连带把package.json一起拷贝过去即可,此时在其他机器上直接执行npm相关命令:npm install即可根据package.json里面的配置下载对应的第三方包。package.json 定义了这个项目所需要的各种模块,以及项目的配置信息(比如名称、版本、许可证等元数据)

    1、创建 package.json :

    cd到项目文件路径下执行下面的命令之一:

    
    
    npm init –-yes//强制创建(packet.json里面的name属性值默认使用项目名)
    npm init//自定义创建

    注意 npm init --yes命令一定要确保项目名规范,没有空格中文,否则会提示项目名不合法:

    合法的情况下如下:

    项目中会生成一个名字为package的json文件:

    npm init自定义创建:

    最后项目里面也会创建出package.json文件,并且默认会把node_modules文件夹下面的所有的包的依赖写入pack.json文件

     项目中有了packet.json文件之后我们今后安装第三方包的时候一定在安装命令后面加--save,这样安装第三方包就会自动添加该包的依赖进入package.json文件了:

    npm install 模块 --save

    有了packet.json文件之后,在其他机器上只需要执行npm install命令即可自动下载所有的第三方jar包

    npm install 模块 --save和npm install 模块 --save-dev:

    两种命令写入的依赖不一样:

    使用 npm install node_module –save 自动更新 dependencies 字段值;
    使用 npm install node_module –save-dev 自动更新 devDependencies 字段值;
    dependencie 配置当前程序所依赖的其他包。
    devDependencie 配置当前程序所依赖的其他包,只会下载模块,而不下载这些模块的
    测试和文档框架

    dependencies补充:

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

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

     上面的设置决定将来使用npm install命令的时候如何更新我们原有的第三方包

    四、安装淘宝镜像

    有些时候我们网络不好很难从npm官网下载第三方包,于是就产生了淘宝镜像(国内的npm包下载地址)

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

    使用淘宝镜像需要先使用npm安装cnpm(淘宝镜像),安装步骤如下:

    直接去淘宝镜像官网复制下面的代码在cmd窗口执行即可:

     安装淘宝镜像之后我们今后就可以使用cnpm install代替npm install命令了:



  • 相关阅读:
    SpinLock 实现
    支持正则或通配符的hashmap
    HTTP报文
    Protostuff序列化
    【转】轻量级分布式 RPC 框架
    Servlet 3特性:异步Servlet
    Web服务器的工作原理
    《恰如其分的软件架构:风险驱动的设计方法》——读书笔记
    Java socket中关闭IO流后,发生什么事?(以关闭输出流为例)
    Java Socket常见异常处理 和 网络编程需要注意的问题
  • 原文地址:https://www.cnblogs.com/luzhanshi/p/10728286.html
Copyright © 2020-2023  润新知