Nodejs中的要求函数的具体使用方法

  

  

本文参考节点官网文档版本为v11.12.0。

  

本文主要分析了Nodejs中需要导入JSON和js文件时得到的结果,同时简单涉及到了Nodejs中模块导出module.exports和出口的用法。

  

  

在阅读webpack源码的过程当中,见到如下一行代码:

        const version=要求(“. ./package.json”) .version      

故引申出对Nodejs中需要的学习。

  


  

  

在node . js的文档中,需要的相关文档是在模块目录下,属于Nodejs模块化系统的一部分。

  

需要是一个函数。通过typeof或者Object.prototype.toString.call()可以验证这个结论:

        console.log(需要)//输出:函数   console.log (Object.prototype.toString.call(需要)//输出:(目标函数)      

通过直接打印要求,可以发现在要求函数下还挂载着若干个静态属性,这些静态属性也可以在Nodejs的官方文档中直接找到相关的说明:

        {(功能:要求)   解决:{[功能:解决]路径:[功能:路径]},   主要:   模块{   id:“。”   出口:{},   父:空,   文件名:'/用户/bjhl/文件/webpackSource/index.js ',   加载:假的,   孩子们:[],   道路:   ['/用户/bjhl/文件/webpackSource/node_modules ',   “/用户/bjhl/文档/node_modules”,   ‘/用户/bjhl/node_modules’,   ‘/用户/node_modules’,   '/node_modules ']},   扩展:   (对象:零原型){”。js:[功能]。json:[功能]。节点:[功能]},   缓存:   (对象:零原型){   '/用户/bjhl/文件/webpackSource/index.js”:   模块{   id:“。”   出口:{},   父:空,   文件名:'/用户/bjhl/文件/webpackSource/index.js ',   加载:假的,   孩子们:[],   道路:(数组)}}}      之前      

<强>要求函数静态属性
  

  

这里之后再详细补充。

  


  

  

在官网文档中可以看到如下关于需要的说明:

  
  

要求(id) #,添加:v0.1.13 id模块名称或path 返回:导出模块content 用于导入模块、JSON和本地文件。模块可以从node_modules进口。本地模块和JSON文件可以导入使用相对路径(例如,/?foo,。/酒吧/baz, . ./foo),将对解决__dirname命名的目录(如果定义)或当前工作目录。
  

     

同时还给出了三种需要的使用方法:

     //导入本地模块:   const myLocalModule=要求('/道路/myLocalModule。');//导入一个JSON文件:   const jsonData=https://www.yisu.com/zixun/require('/道路/filename.json。');//导入一个模块从node_modules或节点。js内置模块:   const加密=要求(“加密”);      之前      

从以上文档中可以得出以下信息:

  
      <李>需要接受一个参数,形参名为id、类型是字符串。   <李>要求函数返回的是模块到处的内容,类型是任意。   <李>要求函数可以导入模块,JSON文件,本地文件。模块可以通过一个相对路径从node_modules,本地模块,JSON文件中导出,该路径将针对__dirname变量(如果已定义)或者当前工作目录。   
  


  

  

在这里将分类讨论需要的实践结论。

  

<强>需要导入JSON
  

  

JSON是一种语法,用来序列化对象、数组,数值,字符串、布尔值和null。

  

在文章的开头就提到了通过要求(“。/package.json”)文件来读取package.json文件中属的版本性。这里将尝试导入info.json文件并查看相关信息。

  

文件结构目录如下:

        .   ├──index.js   └──info.json      

将info.json文件的内容修改为:

        {   “名称”:“myInfo”,   “hasFriend”:没错,   “工资”:空,   “版本”:“v1.0.0”,   "作者":{   “昵称”:“凯蒂猫”,   “年龄”:20,   “朋友”:(   {   “昵称”:“雪”,   “年龄”:999   }   ]   }   }      之前      

在info.json当中,包含了字符串、布尔值、空,数字,对象和数组。

  

将索引。js的内容修改如下并在当前终端运行命令节点索引。js,得到如下结果:

        const信息=要求(“。/info.json”)   console.log (Object.prototype.toString.call(信息))//(对象对象)//v1.0.0 console.log (info.version)   console.log (info.hasFriend)//真实的   console.log (info.salary)//null   console.log (info.author.nickname)//Hello Kitty   console.log (info.author.friends)//[{绰号:“雪”,年龄:999}]      

Nodejs中的要求函数的具体使用方法