zoukankan      html  css  js  c++  java
  • 11-《Node.js开发指南》-模块和包

    什么是模块?

    一个node.js文件就是一个模块,这个文件可能是js代码,json或者编译过的C/C++扩展

    创建及加载模块

    ``` //a.js var name; exports.setName = function(thyName){ name = thyName; }; exports.sayHello = function(){ console.log("hello"+name); }; ``` ``` //b.js var myModule = require('./a.js'); myModule.setName('柠檬不酸'); myModule.sayHello(); ```

    对象封装到模块中

    第一种

    ``` function Hello(){ var name; this.setName = function (thyName){ name=thyName; } this.sayHello = function(){ console.log('hello'+name) } } exports.Hello=Hello; ``` ``` var Hello = require('./c.js').Hello; hello = new Hello(); hello.setName('柠檬不酸le'); hello.sayHello();
    <p>第二种</p>
    

    //c.js
    function Hello(){
    var name;
    this.setName = function (thyName){
    name=thyName;
    }
    this.sayHello = function(){
    console.log('hello'+name)
    }
    }
    module.exports = Hello;

    //d.js
    var Hello = require('./c.js');
    hello = new Hello();
    hello.setName('柠檬不酸');
    hello.sayHello();

    注意:不可以通过exports 直接赋值代替对module.exports赋值;
    exports实际上只是一个和module.exports指向同一个对象的变量,它本身会在模块执行结束后释放,
    但module不会,因此只能通过指定module.exports来改变访问接口;

    <h2>创建包</h2>
    <p>包是在模块基础上更深一步的抽象,它将某个独立的功能封装起来,用于发布,更新,依赖管理和版本控制</p>
    <p>Node.js的包是一个目录,其中包含一个JSON格式的包说明文件package.json</p>
  • 相关阅读:
    json_decode 转数组
    json_encode转义中文问题
    ECshop后台新功能权限添加
    mysql中int、bigint、smallint 和 tinyint的区别与长度的含义
    mysql数据库表设计小数类型
    mysql group_concat用法
    PHP socket通信之UDP
    本地tp项目上传服务器报runtime/cache错误
    mysql 命令一套
    linux 9 -- 交互式使用Bash Shell
  • 原文地址:https://www.cnblogs.com/foreverLuckyStar/p/12076111.html
Copyright © 2011-2022 走看看