zoukankan      html  css  js  c++  java
  • 关于nodejs的require顺序

    复制代码
    ---------------------------------------
            check /home/somebody/node_modules/othermodule
            check /home/somebody/node_modules/othermodule.js
            check /home/somebody/node_modules/othermodule.json
            check /home/somebody/node_modules/othermodule.node
    ---------------------------------------
    if /home/somebody/node_modules/othermodule/package.json exists
            check /home/somebody/node_modules/othermodule/package.json[main]
    ---------------------------------------
    if /home/somebody/node_modules/othermodule/index.js exists
            check /home/somebody/node_modules/othermodule/index.js
    ---------------------------------------
    if /home/somebody/node_modules/othermodule/index.node exists
            check /home/somebody/node_modules/othermodule/index.node
    ---------------------------------------
            check /home/node_modules/othermodule
            check /home/node_modules/othermodule.js
            check /home/node_modules/othermodule.json
            check /home/node_modules/othermodule.node
    ---------------------------------------
    if /home/node_modules/othermodule/package.json exists
            check /home/node_modules/othermodule/package.json[main]
    ---------------------------------------
    if /home/node_modules/othermodule/index.js exists
            check /home/node_modules/othermodule/index.js
    ---------------------------------------
    if /home/node_modules/othermodule/index.node exists
            check /home/node_modules/othermodule/index.node
    ---------------------------------------
            check /node_modules/othermodule
            check /node_modules/othermodule.js
            check /node_modules/othermodule.json
            check /node_modules/othermodule.node
    ---------------------------------------
    if /node_modules/othermodule/package.json exists
            check /node_modules/othermodule/package.json[main]
    ---------------------------------------
    if /node_modules/othermodule/index.js exists
            check /node_modules/othermodule/index.js
    ---------------------------------------
    if /node_modules/othermodule/index.node exists
            check /node_modules/othermodule/index.node
    ---------------------------------------
    
    for each $PATH in $NODE_PATH
    
    ---------------------------------------
    if $PATH/package.json exists
            check $PATH/package.json[main]
    ---------------------------------------
    if $PATH/index.js exists
            check $PATH/index.js
    ---------------------------------------
    if $PATH/index.node exists
            check $PATH/index.node
    ---------------------------------------
    if $HOME/.node_modules/package.json exists
            check $HOME/.node_modules/package.json[main]
    ---------------------------------------
    if $HOME/.node_modules/index.js exists
            check $HOME/.node_modules/index.js
    ---------------------------------------
    if $HOME/.node_modules/index.node exists
            check $HOME/.node_modules/index.node
    ---------------------------------------
    if $HOME/.node_libraries/package.json exists
            check $HOME/.node_libraries/package.json[main]
    ---------------------------------------
    if $HOME/.node_libraries/index.js exists
            check $HOME/.node_libraries/index.js
    ---------------------------------------
    if $HOME/.node_libraries/index.node exists
            check $HOME/.node_libraries/index.node
    ---------------------------------------
    if $PREFIX/lib/node/package.json exists
            check $PREFIX/lib/node/package.json[main]
    ---------------------------------------
    if $PREFIX/lib/node/index.js exists
            check $PREFIX/lib/node/index.js
    ---------------------------------------
    if $PREFIX/lib/node/index.node exists
            check $PREFIX/lib/node/index.node
    复制代码

    简单来说,如果是require('x')这样开头不是相对or绝对地址符号,尾巴也没说是.js或者.json的,就当做模块来找。先找是不是core module,然后一级一级向上看node_modules文件夹,每一级的node_modules先看里面是否有basename为所找的文件,再看是否有模块名文件夹下package.json的main标明的文件,然后不死心地看看模块名文件夹下有没有index.js和index.node。最后找不到的话,还要搜一遍全局环境,比如$HOME/.node_modules/什么的。

  • 相关阅读:
    《算法笔记》8.1小节——搜索专题->深度优先搜索(DFS)
    [xdoj]1303jlz的刷题黑科技
    [xdoj]1299&1300朱神的烦恼 朱神的序列
    [洛谷]p1996约瑟夫环 &xdoj1311
    [xdoj] 1310 DSKer的卡牌游戏
    [xdoj] 1301&1302 数字计数 数字计数的复仇
    随手快递app开发第十六天
    随手快递app开发第十五天
    随手快递app开发第十四天
    随手快递app开发第十三天
  • 原文地址:https://www.cnblogs.com/dunken/p/4364802.html
Copyright © 2011-2022 走看看