nodejs中require的路径是一个文件夹时发生了什么

node中使用require的时候如果路径是一个文件夹时,或者特殊的情况require('..');require('.');


这是node实战这本书里说的情况,但是我在node6.9版本中发现不完全是这样,可能是后来做了修改。下面说说在6.9下require路径的过程。

这里以require('.')说明,一个点说明要require当前目录,这时候,node会优先查找package.json这个文件(即使有index.js这个文件也会先被忽略),然后查找package.json文件里的main键值对应的值xx.js,然后拿到这个值进行加载相应的文件,否则,如果没有键值main或者没有找到xx.js则开始查找当前目录下有没有index.js,如果有则使用,否则出错。下面是具体的实践:

以下文件都在一个文件夹下

example.js

var test = require('.');
console.log(test.a);

package.js

{
"main":"./test1.js"
}


test1.js

module.exports = {
a:1
}


index.js

module.exports = {
a:3
}

我们可以看到,执行example脚本时输出的是1,如果把main的项去掉或者把main对应的值改成不存在的文件,则会加载index.js,输出3,如果不存在这个index.js则报错

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/395286.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

springcloud系列三 搭建服务模块

搭建服务模块为了模拟正式开发环境,只是少写了service层直接在controller里面直接引用,直接上图和代码:更为方便: 创建完成之后加入配置: pom.xml文件: <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM…

P1801 黑匣子_NOI导刊2010提高(06)

题目描述 Black Box是一种原始的数据库。它可以储存一个整数数组&#xff0c;还有一个特别的变量i。最开始的时候Black Box是空的&#xff0e;而i等于0。这个Black Box要处理一串命令。 命令只有两种&#xff1a; ADD(x):把x元素放进BlackBox; GET:i加1&#xff0c;然后输出Bla…

本地仓库settings.xml中使用阿里的仓库

背景 当前使用eclipse自带的maven碰到两个蛋疼的问题&#xff1a; maven在国内使用如果不进行FQ则会痛苦不堪如便秘。maven下载大量jar包导致某盘不够用&#xff0c;需要换大的分区。因此为了解决这个问题就介绍两个eclipse配置&#xff1a;maven本地路径配置和maven外部路径配…

异步服务_微服务全链路异步化实践

1. 背景随着公司业务的发展&#xff0c;核心服务流量越来越大&#xff0c;使用到的资源也越来越多。在微服务架构体系中&#xff0c;大部分的业务是基于Java 语言实现的&#xff0c;受限于Java 的线程实现&#xff0c;一个Java 线程映射到一个kernel 线程&#xff0c;造成了高并…

win7打开计算机死机,怎么样解决Win7系统运行程序引起的死机问题

Win7系统不仅需要使用到电脑中自带的一些程序&#xff0c;同时&#xff0c;也需要在win7旗舰版电脑中有选择的自己去安装一些程序。但是经常有用户会碰到Win7电脑突然跳出运行程序未响应&#xff0c;出现电脑死机的情况&#xff0c;特别是开的浏览器窗口多的时候更是死机的频繁…

sqlserver游标概念与实例全面解说

引言 我们先不讲游标的什么概念&#xff0c;步骤及语法&#xff0c;先来看一个例子&#xff1a; 表一 OriginSalary 表二 AddSalary 现在有2张表&#xff0c;一张是OriginSalary表--工资表&#xff0c;有三个字段0_ID 员工…

MyEclipse中Maven Web项目部署路径设置

转载于:https://www.cnblogs.com/langzichanglu/p/10336805.html

小米电视联网后显示无法解析小米电视服务器,小米电视连上无线不能上网怎么回事?教你解决办法...

原标题&#xff1a;小米电视连上无线不能上网怎么回事&#xff1f;教你解决办法互联网电视凭借在线观看影视剧这个独有的优势受到越来越多家庭的喜爱。特别是配置不俗的小米电视&#xff0c;然而随之而来的的问题也让很多用户头疼&#xff0c;比如家里的小米电视突然上不了网了…

2016.08.19

转载于:https://www.cnblogs.com/hiramlee0534/p/5789453.html

服务器上运行arp,服务器ARP病毒的特征及防护说明

服务器ARP病毒的特征及防护说明更新时间&#xff1a;2008年01月29日 15:50:33 作者&#xff1a;服务器ARP病毒的特征及防护说明近期有些用户反映服务器上所有网站被插入了病毒代码,但是这些病毒代码在服务器的源文件上并不能找到,因此,网管想清理病毒也无从下手,这是什么原因…

Machine Learning from Start to Finish with Scikit-Learn

2019独角兽企业重金招聘Python工程师标准>>> Machine Learning from Start to Finish with Scikit-Learn This notebook covers the basic Machine Learning process in Python step-by-step. Go from raw data to at least 78% accuracy on the Titanic Survivors …

Excel 宏编码实现,指定列的字符串截取

1、打开Excel凭证&#xff0c;启用宏&#xff0c;ALTF11 或 菜单“视图”-"宏-查看宏" Sub 分割字符串1() Dim i As Integer Dim b() As String Dim length 用length表示数组的长度 Dim sublength Dim bb() As String 筛选日期 2 点 For i 2 To 20000 b() Split(Ce…

css 画三角形

CSS三角形绘制方法#triangle-up {width: 0;height: 0;border-left: 50px solid transparent;border-right: 50px solid transparent;border-bottom: 100px solid red;}#triangle-down {width: 0;height: 0;border-left: 50px solid transparent;border-right: 50px solid trans…

mysql 慢日志报警_一则MySQL慢日志监控误报的问题分析

之前因为各种原因&#xff0c;有些报警没有引起重视&#xff0c;最近放假马上排除了一些潜在的人为原因&#xff0c;发现数据库的慢日志报警有些奇怪&#xff0c;主要表现是慢日志报警不属实&#xff0c;收到报警的即时通信提醒后&#xff0c;隔一会去数据库里面去排查&#xf…

无限复活服务器,绝地求生无限复活模式怎么玩 无限复活新手教程

相信不少的绝地求生玩家们最近都听说了其无限复活模式吧?因此肯定想要知道这种模式究竟该怎么玩&#xff0c;所以下面就来为各位带来此玩法的攻略相关&#xff0c;希望各位在看了如下的内容之后恩呢狗狗了解到新手教程攻略一览。“War”模式的设定以及玩法规则如下&#xff1a…

mysql date time year_YEAR、DATE、TIME、DATETIME和TIMESTAMP详细介绍[MySQL数据类型]

为了方便在数据库中存储日期和时间&#xff0c;MySQL提供了表示日期和时间的数据类型&#xff0c;分别是YEAR、DATE、TIME、DATETIME和TIMESTAMP。下面列举了这些MSL中日期和时间数据类型所对应的字节数、取值范围、日期格式以及零值。从上图中可以看出&#xff0c;每种日期和时…

安装Tengine

1.安装VMware2.安装CentOS6.53.配置网络a.修改 /etc/sysconfig/network-scripts/ifcfg-eth0配置文件,添加如下内容DEVICEeth0HWADDR00:0C:29:96:01:6BTYPEEthernetUUID41cbd943-024b-4341-ac7a-e4d2142b4938ONBOOTyesNM_CONTROLLEDyesBOOTPROTOnoneIPADDRxxx.xxx.x.xxx#例如:IP…

【OCR技术系列之八】端到端不定长文本识别CRNN代码实现

CRNN是OCR领域非常经典且被广泛使用的识别算法&#xff0c;其理论基础可以参考我上一篇文章&#xff0c;本文将着重讲解CRNN代码实现过程以及识别效果。 数据处理 利用图像处理技术我们手工大批量生成文字图像&#xff0c;一共360万张图像样本&#xff0c;效果如下&#xff1a;…

杜比服务器系统安装教程,win10杜比音效如何安装?win10安装杜比音效的详细教程...

杜比音效想必大家都不陌生&#xff0c;听歌或者看电影开启杜比音效可以给人一种身临其境的感觉。不少朋友都升级了win10系统却不知道如何安装杜比音效&#xff1f;如何为自己的系统安装杜比音效呢&#xff1f;感兴趣的小伙伴请看下面的操作步骤。win10安装杜比音效的方法&#…

前端if else_应该记录的一些项目代码(前端)

1.共享登录&#xff08;单点登录&#xff09;主要是前端部分主要是根据是否有cookie来判断是否已经登录主系统&#xff0c;然后再根据是否有当前系统的登录信息来&#xff08;这块主要是sessionStorage做的&#xff09;判断是否要再登录当前系统。设置、读取和设置cookie的方法…