>

js包的工程目录与NPM包管理器的利用

- 编辑:正版管家婆马报彩图 -

js包的工程目录与NPM包管理器的利用

工程目录

详解Node.js包的工程目录与NPM包管理器的行使,node.jsnpm

工程目录

明白了以上文化后,以往大家得以来全体地布置八个工程目录了。以编写制定贰个命令行程序为例,一般大家会同不常间提供命令行形式和 API 格局三种选取方法,况且我们会借助三方包来编排代码。除了代码外,叁个完整的程序也应该有谈得来的文书档案和测量检验用例。由此,二个正规的工程目录都看起来像下面那样。

- /home/user/workspace/node-echo/  # 工程目录
  - bin/             # 存放命令行相关代码
    node-echo
  + doc/             # 存放文档
  - lib/             # 存放API相关代码
    echo.js
  - node_modules/         # 存放三方包
    + argv/
  + tests/            # 存放测试用例
  package.json          # 元数据文件
  README.md            # 说明文件

内部有个别文件内容如下:

/* bin/node-echo */
var argv = require('argv'),
  echo = require('../lib/echo');
console.log(echo(argv.join(' ')));

/* lib/echo.js */
module.exports = function (message) {
  return message;
};

/* package.json */
{
  "name": "node-echo",
  "main": "./lib/echo.js"
}

如上例子中分类寄存了分化类别的文书,并透过 node_moudles 目录直接运用三方包名加载模块。别的,定义了package.json 之后,node-echo 目录也可被看成多个包来使用。

NPM

NPM 是及其 NodeJS 一同安装的包管理工科具,能缓和 NodeJS 代码安顿上的成都百货上千题目,常见的使用情形有以下二种:

  • 允许客商从 NPM 服务器下载别人编写的三方包到本地利用。
  • 允许顾客从 NPM 服务器下载并设置外人编写的下令行程序到地头使用。
  • 允许客商将团结编排的包或指令行程序上盛传 NPM 服务器供旁人使用。

能够见到,NPM 建构了一个 NodeJS 生态圈,NodeJS 开采者和顾客能够在里头相得益彰。以下分别介绍这两种现象下何以使用 NPM。

下载三方包 亟待选拔三方包时,首先得理解有啥样包可用。即使 npmjs.org 提供了个搜索框能够遵照包名来寻觅,但一旦连想选用的三方包的名字都不明确的话,就请百度时而吗。知道了包名后,比如下边例子中的 argv,就足以在工程目录下张开终端,使用以下命令来下载三方包。

$ npm install argv
...
[email protected] node_modulesargv

下载好以后,argv 包就放在了工程目录下的 node_modules 目录中,因此在代码中只供给经过 require('argv')的不二等秘书诀就好,不供给钦定三方包路线。

如上命令暗许下载最新版三方包,要是想要下载内定版本的话,能够在包名后面加上@<version>,比方通过以下命令可下载 0.0.1 版的 argv。

$ npm install [email protected]
...
[email protected] node_modulesargv

假设使用到的三方包非常多,在巅峰下二个包一条命令地安装未免太人肉了。由此NPM 对 package.json 的字段做了扩展,允许在中间发明三方包注重。由此,上面例子中的 package.json 能够改写如下:

{
  "name": "node-echo",
  "main": "./lib/echo.js",
  "dependencies": {
    "argv": "0.0.2"
  }
}

那般管理后,在工程目录下就能够运用 npm install 命令批量安装三方包了。更珍视的是,当以往 node-echo 也上传到了 NPM 服务器,外人下载那些包时,NPM 会依据包中注明的三方包正视自动下载进一步依据的三方包。譬如,使用 npm install node-echo 命令时,NPM 会自动创造以下目录结构。

- project/
  - node_modules/
    - node-echo/
      - node_modules/
        + argv/
      ...
  ...

如此一来,客户只需关怀自身直接行使的三方包,无需本人去消除全体包的依靠关系。

安装命令行程序 从 NPM 服务上下载安装贰个命令行程序的艺术与三方包类似。比方上例中的 node-echo 提供了命令行使用格局,只要 node-echo 自身安插好了相关的 package.json 字段,对于顾客来讲,只要求动用以下命令安装程序。

$ npm install node-echo -g

参数中的 -g 表示全局安装,因而 node-echo 会暗许安装到以下职分,並且 NPM 会自动创设好 Linux 系统下要求的软链文件或 Windows 系统下供给的.cmd文件。

- /usr/local/        # Linux系统下
  - lib/node_modules/
    + node-echo/
    ...
  - bin/
    node-echo
    ...
  ...

- %APPDATA%npm      # Windows系统下
  - node_modules
    + node-echo
    ...
  node-echo.cmd
  ...

发布代码 先是次选拔 NPM 宣布代码前供给登记三个账号。终端下运维 npm adduser,之后依照提示做就可以。账号解决后,接着我们须求编写制定 package.json 文件,插足 NPM 必得的字段。接着上面 node-echo 的事例,package.json 里供给的字段如下。

{
  "name": "node-echo",      # 包名,在NPM服务器上须要保持唯一
  "version": "1.0.0",      # 当前版本号
  "dependencies": {       # 三方包依赖,需要指定包名和版本号
    "argv": "0.0.2"
   },
  "main": "./lib/echo.js",    # 入口模块位置
  "bin" : {
    "node-echo": "./bin/node-echo"   # 命令行程序名和主模块位置
  }
}

之后,大家就足以在 package.json 所在目录下运作 npm publish 揭橥代码了。

版本号 动用 NPM 下载和揭发代码时都会触发到版本号。NPM 使用语义版本号来保管代码,这里大致介绍一下。

语义版本号分为 X.Y.Z 三人,分别表示主版本号、次版本号和补丁版本号。当代码改动时,版本号按以下条件更新。

+ 借使只是修复bug,须要立异Z位。

+ 若是是新扩大了效力,然则向下包容,须要更新Y位。

+ 如若有大转移,向下不包容,供给立异X位。
本子号有了这几个有限扶助后,在申明三方包重视时,除了可依据于一个长久版本号外,还可依靠于有些范围的版本号。比如"argv": "0.0.x"表示注重于 0.0.x 种类的流行版 argv。NPM 辅助的富有版本号范围点名情势能够查阅官方文书档案。

脑子一点 除此而外本章介绍的有些外,NPM 还提供了重重效果与利益,package.json 里也是有非常多别样有效的字段。除了可以在 npmjs.org/doc/ 查看官方文书档案外,这里再介绍部分 NPM 常用命令。

NPM 提供了多数下令,比方 install 和 publish,使用 npm help 可查看全体命令。

  • 选择 npm help 可查阅某条命令的详细扶助,举个例子 npm help install。
  • 在 package.json 所在目录下使用npm install . -g可先在地头安装当前命令行程序,可用以发布前的本地质衡量试。
  • 运用npm update <package>能够把当前目录下 node_modules 子目录里边的附和模块更新至最新版本。
  • 利用npm update <package> -g可以把全局安装的应和命令行程序更新至最新版。
  • 选拔npm cache clear能够清空 NPM 本地缓存,用于对付使用同一版本号公布新本子代码的人。
  • 选拔npm unpublish <package>@<version>可以裁撤发布本人发布过的某部版本代码。

叩问了上述文化后,现在大家得以来完全地设计二个工程目录了。以编写制定三个指令行程序为例,一般大家会同偶尔候提供命令行格局和 API 形式三种采用情势,并且大家会依靠三方包来编排代码。除了代码外,贰个完全的次第也应当有和好的文书档案和测量试验用例。因而,三个标准的工程目录都看起来像下面那样。

您大概感兴趣的篇章:

  • nodejs调用cmd命令实现复制目录
  • Node.js完成在目录中搜索某些字符串及所在文件
  • Node.js达成JS文件合併小工具
  • 实例详解Nodejs 保存 payload 发送过来的文本
  • Node.js静态文件服务器革新版
  • Node.js文件操作详解
  • 在Node.js中达成文件复制的办法和实例
  • Node.js当麻芋果件操作之文件拷贝与目录遍历的不二等秘书技

工程目录 领会了以上文化后,以往大家得以来全体地设计三个工程目录了。以编写制定一...

- /home/user/workspace/node-echo/  # 工程目录
  - bin/             # 存放命令行相关代码
    node-echo
  + doc/             # 存放文档
  - lib/             # 存放API相关代码
    echo.js
  - node_modules/         # 存放三方包
    + argv/
  + tests/            # 存放测试用例
  package.json          # 元数据文件
  README.md            # 说明文件

内部一部分文件内容如下:

/* bin/node-echo */
var argv = require('argv'),
  echo = require('../lib/echo');
console.log(echo(argv.join(' ')));

/* lib/echo.js */
module.exports = function (message) {
  return message;
};

/* package.json */
{
  "name": "node-echo",
  "main": "./lib/echo.js"
}

上述例子中分类寄放了差别品类的文本,并因此 node_moudles 目录直接行使三方包名加载模块。其余,定义了package.json 之后,node-echo 目录也可被当做四个包来使用。

NPM

NPM 是连同 NodeJS 一齐安装的包管理工科具,能化解 NodeJS 代码安插上的浩大难题,常见的运用意况有以下二种:

  • 同意客户从 NPM 服务器下载旁人编写的三方包到地面使用。
  • 同意客户从 NPM 服务器下载并设置外人编写的命令行程序到地点使用。
  • 同意顾客将自身编辑的包或指令行程序上传播 NPM 服务器供外人利用。

能够看出,NPM 创立了三个 NodeJS 生态圈,NodeJS 开辟者和客商能够在里边互通有无。以下分别介绍那三种景况下哪些利用 NPM。

下载三方包 亟需运用三方包时,首先得明白有何包可用。固然 npmjs.org 提供了个寻找框能够依赖包名来查找,但只要连想选取的三方包的名字都不鲜明的话,就请百度时而呢。知道了包名后,举例上面例子中的 argv,就能够在工程目录下开采终端,使用以下命令来下载三方包。

$ npm install argv
...
argv@0.0.2 node_modulesargv

下载好之后,argv 包就位于了工程目录下的 node_modules 目录中,因而在代码中只须要通过 require('argv')的艺术就好,没有供给钦点三方包路线。

上述命令暗中认可下载最新版三方包,假设想要下载钦定版本的话,能够在包名前面加上@<version>,比方通过以下命令可下载 0.0.1 版的 argv。

$ npm install argv@0.0.1
...
argv@0.0.1 node_modulesargv

即使应用到的三方包相当多,在顶峰下叁个包一条命令地设置未免太人肉了。因此NPM 对 package.json 的字段做了扩张,允许在其间发明三方包注重。因而,上面例子中的 package.json 能够改写如下:

{
  "name": "node-echo",
  "main": "./lib/echo.js",
  "dependencies": {
    "argv": "0.0.2"
  }
}

那样管理后,在工程目录下就足以应用 npm install 命令批量装置三方包了。更首要的是,当今后 node-echo 也上传到了 NPM 服务器,外人下载这一个包时,NPM 会根据包中表明的三方包信赖自动下载进一步依据的三方包。譬如,使用 npm install node-echo 命令时,NPM 会自动成立以下目录结构。

- project/
  - node_modules/
    - node-echo/
      - node_modules/
        + argv/
      ...
  ...

如此一来,客户只需关心自个儿向来使用的三方包,无需协调去解决全体包的借助关系。

安装命令行程序 从 NPM 服务上下载安装二个下令行程序的不二等秘书诀与三方包类似。举例上例中的 node-echo 提供了命令行使用办法,只要 node-echo 自身配置好了连带的 package.json 字段,对于客商来讲,只必要使用以下命令安装程序。

$ npm install node-echo -g

参数中的 -g 表示全局安装,由此 node-echo 会默许安装到以下职务,而且 NPM 会自动成立好 Linux 系统下需求的软链文件或 Windows 系统下须求的.cmd文件。

- /usr/local/        # Linux系统下
  - lib/node_modules/
    + node-echo/
    ...
  - bin/
    node-echo
    ...
  ...

- %APPDATA%npm      # Windows系统下
  - node_modules
    + node-echo
    ...
  node-echo.cmd
  ...

宣告代码 第三次选拔 NPM 公布代码前必要注册八个账号。终端下运作 npm adduser,之后依据提醒做就可以。账号消除后,接着大家必要编写制定 package.json 文件,参加 NPM 必得的字段。接着上边 node-echo 的事例,package.json 里要求的字段如下。

{
  "name": "node-echo",      # 包名,在NPM服务器上须要保持唯一
  "version": "1.0.0",      # 当前版本号
  "dependencies": {       # 三方包依赖,需要指定包名和版本号
    "argv": "0.0.2"
   },
  "main": "./lib/echo.js",    # 入口模块位置
  "bin" : {
    "node-echo": "./bin/node-echo"   # 命令行程序名和主模块位置
  }
}

之后,大家就可以在 package.json 所在目录下运作 npm publish 公布代码了。

版本号 利用 NPM 下载和发表代码时都会触发到版本号。NPM 使用语义版本号来处理代码,这里大致介绍一下。

语义版本号分为 X.Y.Z 四个人,分别代表主版本号、次版本号和补丁版本号。今世码更改时,版本号按以下条件更新。

+ 借使只是修复bug,要求立异Z位。

+ 假使是骤增了成效,然则向下包容,需求立异Y位。

+ 要是有大转移,向下不匹配,供给更新X位。
本子号有了那些保障后,在表明三方包注重时,除了可依附于贰个一定版本号外,还可依赖于某些范围的版本号。比方"argv": "0.0.x"表示注重于 0.0.x 类别的风靡版 argv。NPM 帮忙的具有版本号范围点超方式能够查阅官方文书档案。

脑子一点 除外本章介绍的一部极其,NPM 还提供了成都百货上千效应,package.json 里也是有为数十分多别样有效的字段。除了能够在 npmjs.org/doc/ 查看官方文档外,这里再介绍部分 NPM 常用命令。

NPM 提供了累累指令,比方 install 和 publish,使用 npm help 可查看全体命令。

  • 使用 npm help 可查阅某条命令的详尽扶助,举例 npm help install。
  • 在 package.json 所在目录下利用npm install . -g可先在地头安装当前下令行程序,可用于公布前的本地质度量试。
  • 应用npm update <package>能够把当前目录下 node_modules 子目录里边的呼应模块更新至最新版本。
  • 采纳npm update <package> -g能够把全局安装的对应命令行程序更新至最新版。
  • 运用npm cache clear能够清空 NPM 本地缓存,用于对付使用一样版本号发表新本子代码的人。
  • 使用npm unpublish <package>@<version>能够撤除发表本人发表过的某个版本代码。

你或者感兴趣的稿子:

  • Node.js安装教程和NPM包管理器使用详解
  • 在linux中应用包管理器安装node.js
  • Node.js的npm包管理器基础运用教程
  • node.js使用npm 安装插件时提示install Error: ENOENT报错的化解格局
  • 卸载安装Node.js与npm进程详解
  • Node.js中npm常用命令大全
  • 本身的Node.js学习之路(二)NPM模块管理
  • Node.js生成HttpStatusCode接济类发布到npm
  • 利用npm发表Node.JS程序包教程
  • Node.js包管理器Yarn的入门介绍与安装

本文由计算机操作发布,转载请注明来源:js包的工程目录与NPM包管理器的利用