创建包

创建包

Node.js 的包是一个目录,包含一个 JSON 格式的包说明文件 package.json。严格符
CommonJS 规范的包应该具备以下特征
package.json 必须在包的顶层目录下;
二进制文件应该在 bin 目录下;
JavaScript 代码应该在 lib 目录下;
 文档应该在 doc 目录下;
 单元测试应该在 test 目录下。

Node.js 对包的要求并没有这么严格,只要顶层目录下有 package.json,并符合一些规范
即可。当然为了提高兼容性,我们还是建议你在制作包的时候,严格遵守 CommonJS 规范。

模块与文件是一一对应的。文件不仅可以是 JavaScript 代码或二进制代码,还可以是一
个文件夹。最简单的包,就是一个作为文件夹的模块。

目录机构

interface.js中代码

 1 /**
 2  * Created by Administrator on 2016/8/4.
 3  */
 4 function Person(){
 5     var name;
 6     this.setName = function(username){
 7         name = username;
 8     };
 9     this.sayName = function(){
10         console.log("what's your name ? \n" + name);
11     };
12 }
13 //覆盖exports
14 //exports 本身仅仅是一个普通的空对象,即 {},它专门用来声明接口,本质上是通过它为模块闭包①的内部建立了一个有限的访问接口
15 module.exports = Person;

app.js中code

1 /*
2  Node.js 在调用某个包时,会首先检查包中 package.json 文件的 main 字段,将其作为
3  包的接口模块,如果 package.json 或 main 字段不存在,会尝试寻找 index.js 或 index.node 作
4  为包的接口。
5  */
6 var onePackpage = require("./onePackpage");
7 var one = new onePackpage();
8 one.setName("test");
9 one.sayName();

package.json

{
  "name": "onePackpage",
  "main": "./lib/interface.js",
  "version": "0.1.0",
  "keywords": [
    "package",
    "example"
  ],
  "maintainers": [
    {
      "name": "钟离野",
      "email": "1924458755@qq.com"
    }
  ]
}

 

Node.js包管理器,即npm是 Node.js 官方提供的包管理工具

①,它已经成了 Node.js 包的
标准发布平台,用于 Node.js 包的发布、传播、依赖控制。npm 提供了命令行工具,使你可
以方便地下载、安装、升级、删除包,也可以让你作为开发者发布并维护包。

npm在默认情况下会从http://npmjs.org搜索或下载包, 将包安装到当前目录的node_modules
子目录下。

本地模式和全局模式

获取一个包【本地模式】

npm [install/i]  [package_name]

npm [install/i] -g [package_name]

本地模式和全局模式的特点

本地模式
可通过 require 使用 
不注册PATH

全局模式 
不通过 require 使用 
要注册PATH

用法:当我们要把某个包作为工程运行时的一部分时,通过本地模式获取,如果要
在命令行下使用,则使用全局模式安装。

在命令行下执行 node debug debug.js,将会启动调试工具:

 

posted @ 2016-08-04 18:04  钟离野  阅读(274)  评论(0编辑  收藏  举报