美文网首页
Node-常用的包

Node-常用的包

作者: zhouhao_180 | 来源:发表于2019-06-11 09:25 被阅读0次

    一、全局包

    1.1 nodemon npm i nodemon -g
    1.2 cnpm npm i cnpm -g

    二、本地项目包

    2.1 express npm i express -S
    2.1 express npm i ejs-S
    2.1 express npm i art-template -S
    2.1 express npm i express-art-template -S
    2.1 express npm i mysql -S

    查询已安装的包(全局)
    C:\Users\Administrator\AppData\Roaming\npm

    包路径.png

    模块加载机制

    第一次会缓存到内存中,下次 优先从缓存中加载,提高加载速度

    核心模块的加载机制

    • 先查找缓存;如果缓存中没有,再去加载核心模块;

    用户模块的加载机制

    • 先查找缓存;
    • 如果缓存中没有则尝试加载用户模块;
    • 如果在加载用户模块时候省略了后缀名,则:
        首先,严格按照指定的名称去查找
        其次,尝试加载后缀名是 .js 的文件
        如果没有.js的文件,则尝试加载 .json 结尾的文件
        如果没有 .json 的文件,则尝试加载 .node 结尾的文件
        查找规则:index  ->  index.js   ->   index.json   ->  index.node
    

    第三方模块的加载机制

    1. 先在项目根目录中查找node_modules文件夹
    2. 在node_modules文件夹下,查找模块相关的文件夹
    3. 在对应的文件夹下,查找package.json的文件
    4. 查找package.json文件中的main属性(指定了模块的入口文件)
    5. 如果找到了main属性,同时,main属性指定的文件路径存在,那么尝试加载指定的文件模块
    6. 加入没有main属性,或者main属性对应的文件不存在,或者没有package.json,那么会依次尝试加载index.js,index.json,index.node;
    7. 如果没有index相关的文件,或者没有指定模块对应文件夹,或者,当前项目根目录中没有node_modules文件夹,则向上一层目录中查找node_modules,查找规则同上!(所以项目根目录有node_modules及相关的包就行)
    8. 最后,如果在项目所在磁盘的盘符根目录中,还找不到对应模块,则报错:cannot find module ***

    相关文章

      网友评论

          本文标题:Node-常用的包

          本文链接:https://www.haomeiwen.com/subject/bdqffctx.html