zoukankan      html  css  js  c++  java
  • node-load module

    javscript :脚本建共享全局名称空间(全局污染)。

    node:实现CommonJS(公共)模块标准。

    Node加载模块,有两种方式:

    1.通过名称

      除非是核心模块,否则被引用的模块最后都会映射为一个文件路径。

    2.通过路径

    Node导入模块:

    无论是第三方或者npm官方,都可以使用以下require来导入模块

    var module = require ('module_name');

    导入模块后,该对象表示模块对外暴露的JavaScript API。

    根据模块不同,该对象是任意的JavaScript值。

    可以是一个函数,也可以是一个具有若干数学的对象。

    属性可能是函数、数组或其他任何类型的JavaScript对象。

    Node导出模块:

    CommonJs模块系统是文件之间共享对象或函数的唯一方式。

    对于比较复杂的应用程序,你应该分类、对象、函数他们的重用性并且划分好----只暴露你指定的内容。

    文件和模块是一个个对应的

    function Circle(x, y, z) {
        function r_squared() {
            return Math.pow(r, 2);
        }
    
        function area() {
            return Math.PI * r_squared()
        }
    
        return {
            area: area
        };
    }

    下面举例它们之间的关系

    //Module2.js
    //来自第三方或者npm官方
    function
    printA() { conosole.log('A'); } function printB() { conosole.log('B'); } function printC() { conosole.log('C'); } module.exports.printA = printA; module.exports.printB = printB; module.exports.printC = printC; module.exports.pi = Math.PI;

    如何使用加载模块呢? 下面给出方法

    var myModule = require('./myModoule2'); //省略js或不省略皆可,导入(加载)的时候。
    var myModule = require('./myModule2.js'); myModule2.printA();

    导入模块时的myModule2.printA -> A ,是不是又想起了Vue和Angular呢?

    模块分为:核心模块(node自带)、npm官方模块、本地(自制)模块。

    核心模块加载优先所有模块! 核心模块只能通过模块名引用,而不能通过文件路径。

    下面介绍一下http核心模块

    var http = require('http');

    上述code会返回http模块对象,由它实现的Node API文档描述中的HTTP API。

    加载文件夹模块

    var myMoudle = require('./myModuleDir');

    首先会查找myModuleDir.js,然后会查找整个(myModuleDir)文件夹,并尝试查找包(package.j

    son)

    其默认值为index.js(除此之外还会查找index.node)。

    如果文件夹存在package.json,那么Node将会尝试解析文件并查找到main属性,将main属性当做入口点的相对路径。

    //package.json
    {
    "name": "myModule", "main": "./lib/myModule.js" }

    Node就会根据路径 ./myModuleDir/lib/myModule.js加载文件。

    从node_module文件夹加载

    一个模块既不是相对路径也不是核心模块,那么就会Node就会尝试在当前目录下的node_modules文件夹查找该模块。

    如果没有找到该模块就会一直找下去,直到根目录(上至附文件夹,下至子目录)。

    本地目录node_modules是NPM默认模块安装的位置。

    NPM命令会帮你管理好你的node_modules目录。

    缓存模块

    模块首次加载会缓存,你要记号,缓存好处和坏处。

  • 相关阅读:
    python3.7安装pygame
    Jmeter定时器
    弱网测试
    面试心得123
    如何保证测试项目的质量
    LeetCode448-数组中消失的数字
    LeetCode-两数相加
    JVM-Class文件的结构
    leetcode-222完全二叉树的节点个数
    Java虚拟机常用的性能监控工具
  • 原文地址:https://www.cnblogs.com/cisum/p/8463912.html
Copyright © 2011-2022 走看看