zoukankan      html  css  js  c++  java
  • node.js模块、包

    创建模块

    Node.js 提供了 exports 和 require 两个对
    象,其中 exports 是模块公开的接口,require 用于从外部获取一个模块的接口,即所获
    取模块的 exports 对象。
    让我们以一个例子来了解模块。创建一个 module.js 的文件,内容是:
    //module.js
     var name;
     exports.setName = function(thyName) {
      name = thyName;
    };
     
    exports.sayHello = function() {
      console.log('Hello ' + name);
    };
    在同一目录下创建 getmodule.js,内容是:
    //getmodule.js
    var myModule = require('./module');
    myModule.setName('BYVoid');
    myModule.sayHello();


    运行node getmodule.js,结果是:
    Hello BYVoid
    在以上示例中,module.js 通过 exports 对象把 setName 和 sayHello 作为模块的访
    问接口,在 getmodule.js 中通过 require('./module') 加载这个模块,然后就可以直接访
    问 module.js 中 exports 对象的成员函数了。

    覆盖exports

    使用exports.Hello = Hello; 时,我们在其他文件中需要通过 require('./singleobject').Hello 来获取
    Hello 对象,这略显冗余,可以用下面方法稍微简化:

    可以通过module.exports = Hello;

    包管理

    npm i/install package安装本地包

    npm i -g package安装全局包

    npm link package source dest创建链接

    npm init 初始化包的package.json

    npm publish发布包

    使用node-inspector调试

    首先,使用 npm install -g node-inspector 命令安装 node-inspector,然后在终
    端中通过 node --debug-brk=5858 debug.js 命令连接你要除错的脚本的调试服务器,
    启动 node-inspector:
    $ node-inspector
    在浏览器中打开 http://127.0.0.1:8080/debug?port=5858,即可显示出优雅的 Web 调试工
    具。

    常用工具util

    util.inherits(constructor, superConstructor)是一个实现对象间原型继承

    的函数。JavaScript 的面向对象特性是基于原型的,与常见的基于类的不同。JavaScript 没有
    提供对象继承的语言级别特性,而是通过原型复制来实现的,具体细节我们在附录A中讨论
    在这里我们只介绍 util.inherits 的用法,示例如下:
    var util = require('util');
     
    function Base() {
      this.name = 'base';
      this.base = 1991;
       
      this.sayHello = function() {
        console.log('Hello ' + this.name);
      };
    }
     
    Base.prototype.showName = function() {
      console.log(this.name);

    }; //原型定义
     function Sub() {
      this.name = 'sub';
    }
     util.inherits(Sub, Base);

    Base 有三个在构造函数内定义的属性和一个原型中定义的函数,通过 util.inherits 实现继承。
    注意,Sub 仅仅继承了 Base 在原型中定义的函数,而构造函数内部创造的 base 属性和 sayHello 函数都没有被 Sub 继承。

    util.inspect()将对象转化为字符串,其他util.isArray()、 util.isRegExp()、
    util.isDate()、util.isError() 四个类型测试工具,以及 util.format()、util.
    debug() 等工具

  • 相关阅读:
    如何用命令将本地项目上传到github
    Mysql基本命令一
    Mysql基本命令二
    PDO操作数据库
    PHP分页
    JQuery中$.ajax()方法参数详解
    基于jquery的has()方法以及与find()方法以及filter()方法的区别详解
    IE浏览器兼容问题
    购物车的实现方式
    JS学习之路
  • 原文地址:https://www.cnblogs.com/mebius4789/p/5023720.html
Copyright © 2011-2022 走看看