• 模块和包


    模块和包:
    模块和包是Node.js最重要的支柱,开发一个具有一定规模的程序不可能只用一个文件,通常需要把各个功能拆分,封装,然后
    组合起来,模块正是为了实现这种方式而诞生的,Node.js提供了require函数来调用其他模块而且模块都是基于文件的,机制十
    分简单

    模块是Node.js应用程序的基本组成部分,文件和模块是一一对应的,Node.js提供了exports和require两个对象,其中exports
    是模块公开的接口,require用于从外部获取一个公开的接口,即所获取模块的exports对象

    //hello1和helo2指向的是同一个实例,因此hello1.setName的结果被hello2.setName覆盖,最终输出结果是由后者决定的

    // exports.Hello = Hello;
    module.exports = Hello;
    //在外部引用该模块时,其接口对象就是要输出的Hello对象本身,而不是原先的exports
    //事实上,exports本身仅仅是一个普通的空对象,即{},它专门用来声明接口,本质上是通过它为模块闭包的内部建立
    //一个有限的访问接口,因为它没有任何特殊的地方,所以可以用其他东西来代替


    /*
    包是在模块基础上更深一步的抽象,他将某些独立的功能封装起来,用于发布、更新、依赖管理和版本控制
    Node.js是一个目录,其中包含一个JSON格式的包说明文件package.json,严格符合CommonJS规范的包,应该具备以下特征:
    package.json必须在包的顶层目录下
    二进制文件应该再bin目录下
    JavaScript代码应该在lib目录下
    文档应该再doc目录下
    单元测试应该在test目录下
    */

    /*
    最简单的包,就是一个作为文件夹的模块

    包通常是一些模块的集合,在模块的基础上提供了更高层的抽象,相当于提供了一些固定接口的函数库,
    通过定制package.json,我们可以创建更复杂、更完善、更符合规范的包用于发布



    */

    工作并不只是为了那点工资,而是为了创造一份属于自己的事业
  • 相关阅读:
    Android websocket使用
    Android WebSocket实现即时通讯功能
    A dependency may only have one source
    Finished with error: ProcessException: Process "D:FlutterAPPflutter_appfiveandroidgradlew.bat" exited abnormally:
    Android 中指纹识别
    vue学习指南:第四篇(详细)
    vue学习指南:第二篇(详细Vue基础)
    vue学习指南:第三篇(详细)
    webpack打包js文件
    H5离线缓存(基础)学习指南
  • 原文地址:https://www.cnblogs.com/zouer/p/5041542.html
Copyright © 2020-2023  润新知