zoukankan      html  css  js  c++  java
  • 创建包

    创建包

    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 ? 
    " + 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,将会启动调试工具:

  • 相关阅读:
    BZOJ3779: 重组病毒
    BZOJ3112 [ZJOI2013]防守战线
    BZOJ4011 [HNOI2015]落忆枫音
    BZOJ2726 [SDOI2012]任务安排
    BZOJ1492 [NOI2007]货币兑换
    BZOJ1597 [USACO2008]土地购买
    BZOJ3611 [HEOI2014]大工程
    BZOJ3991 [SDOI2015]寻宝游戏
    BZOJ3675 [APIO2014]序列分割
    BZOJ1010 [HNOI2008]玩具装箱
  • 原文地址:https://www.cnblogs.com/lee90/p/5737756.html
Copyright © 2011-2022 走看看