nodeJS

熟悉nodeJs的原理

2019-04-23  本文已影响0人  js_hcl

一、文件全局对象(隐藏外层函数的参数)

exports.yy=function(){};

module.exports={
    xx:function(){}
};

for(i of arguments){
    console.log(i)
}
--------------------------------------------------------
然后node 命令执行,结果↓↓
{ yy: [Function] }  //参数1  其实就是exports

{ [Function: require] //参数2  其实就是require 用于引入文件
  resolve: { [Function: resolve] paths: [Function: paths] },
  main:
   Module {
     id: '.',
     exports: { xx: [Function: xx] },
     parent: null,
     filename:
      'D:\\360MoveData\\Users\\Administrator\\Desktop\\css\\one.js',
     loaded: false,
     children: [],
     paths:
      [ 'D:\\360MoveData\\Users\\Administrator\\Desktop\\css\\node_modules',
        'D:\\360MoveData\\Users\\Administrator\\Desktop\\node_modules',
        'D:\\360MoveData\\Users\\Administrator\\node_modules',
        'D:\\360MoveData\\Users\\node_modules',
        'D:\\360MoveData\\node_modules',
        'D:\\node_modules' ] },
  extensions:
   { '.js': [Function], '.json': [Function], '.node': [Function] },
  cache:
   { 'D:\\360MoveData\\Users\\Administrator\\Desktop\\css\\one.js':
      Module {
        id: '.',
        exports: [Object],
        parent: null,
        filename:
         'D:\\360MoveData\\Users\\Administrator\\Desktop\\css\\one.js',
        loaded: false,
        children: [],
        paths: [Array] } } }

Module { //参数3  其实就是Module,用于导出文件
  id: '.',
  exports: { xx: [Function: xx] },
  parent: null,
  filename:
   'D:\\360MoveData\\Users\\Administrator\\Desktop\\css\\one.js',
  loaded: false,
  children: [],
  paths:
   [ 'D:\\360MoveData\\Users\\Administrator\\Desktop\\css\\node_modules',
     'D:\\360MoveData\\Users\\Administrator\\Desktop\\node_modules',
     'D:\\360MoveData\\Users\\Administrator\\node_modules',
     'D:\\360MoveData\\Users\\node_modules',
     'D:\\360MoveData\\node_modules',
     'D:\\node_modules' ] }

D:\360MoveData\Users\Administrator\Desktop\css\one.js   //参数4 --filename

D:\360MoveData\Users\Administrator\Desktop\css  //参数5 --dirname
  • 总结 其实就是外层,加了个函数,传入5个参数。分别为:
  • exports 可以用于导出收集器。然后赋值给Module.exports
  • require
  • Module 真正导出的是Module.exports对象。
  • --filename
  • --dirname
上一篇 下一篇

猜你喜欢

热点阅读