zoukankan      html  css  js  c++  java
  • Node.js相关——package概念及NPM

    1. package 包

    CommonJS的包规范允许我们将一组相关的模块组合到一起,形成一组完整的工具。CommonJS的包规范由 包结构 和 包描述文件 两个部分组成。

    1.1 包结构

    包实际上就是一个压缩文件,解压以后还原为目录。符合规范的目录,应该包含如下文件。

    • package.json   描述文件,必需
    • bin   文件夹,内存放可执行二进制文件,一般在工具包中存在,非必需
    • lib   文件夹,内存放js代码,非必需
    • doc   文件夹,内存放文档,非必需
    • test  文件夹,供单元测试,非必需

    1.2 包描述文件

    包描述文件用于表达非代码相关的信息,它是一个JSON格式的文件 – package.json,位于包的根目录下,是包的重要组成部分。

    package.json 的属性主要有:

    • name - 包名。
    • version - 包的版本号。
    • description - 包的描述。
    • homepage - 包的官网 url 。
    • author - 包的作者姓名。
    • contributors - 包的其他贡献者姓名。
    • dependencies - 依赖包列表。如果依赖包没有安装,npm 会自动将依赖包安装在 node_module 目录下。
    • repository - 包代码存放的地方的类型,可以是 git 或 svn,git 可在 Github 上。
    • main - main 字段指定了程序的主入口文件,require('moduleName') 就会加载这个文件。这个字段的默认值是模块根目录下面的 index.js。
    • keywords - 关键字

    2. NPM(Node Package Manager)

    CommonJS包规范是理论,NPM是其中一种实践。对于Node而言,NPM帮助其完成了第三方模块的发布、安装和依赖等。借助NPM,Node与第三方模块之间形成了很好的一个生态系统。

    node.js安装时会自动下载npm包,该包结构如下:

    2.1 NPM常用指令

    npm -v               #查看npm的版本
    npm version            #查看所有模块的版本
    npm init              #初始化项目(创建package.json)
    npm i/install 包名        #安装指定的包
    npm i/install 包名 --save    #安装指定的包并添加依赖
    npm i/install 包名 -g         #全局安装(一般都是一些工具)
    npm i/install            #安装当前项目所依赖的包
    npm s/search 包名          #搜索包
    npm r/remove 包名          #删除一个包

    2.2 NPM镜像选择

    由于npm的镜像源是在国外,因此安装过程中下载可能比较慢或者下载失败,可以写选择连接 淘宝NPM镜像。方法如下:

    2.2.1 临时使用

    npm --registry https://registry.npm.taobao.org install express

    2.2.2 持久使用

    npm config set registry https://registry.npm.taobao.org
    npm install express

    2.2.3 保留npm,通过cnpm使用

    npm install -g cnpm --registry=https://registry.npm.taobao.org
    cnpm install express
  • 相关阅读:
    js 函数声明和函数表达式的区别
    使用dom4j工具包对xml文件解析
    xml的schema约束
    xml的DTD约束
    C3P0连接池工具类使用
    jdbc连接警告不安全
    java的unity单元测试
    BootStrap容器介绍
    validate插件实现表单效验(二)
    validate插件实现表单效验(一)
  • 原文地址:https://www.cnblogs.com/zjfjava/p/9911951.html
Copyright © 2011-2022 走看看