node.js 如何在不指定文件夹路径的情况下使用 index.js 解析所需的文件夹?

Posted

技术标签:

【中文标题】node.js 如何在不指定文件夹路径的情况下使用 index.js 解析所需的文件夹?【英文标题】:How node.js resolves required folders using index.js without specifying folder path? 【发布时间】:2020-03-22 19:42:39 【问题描述】:

我遇到了一种在 node.js/javascript 中导入文件夹的模式,其中只指定了文件夹名称而不是文件夹路径。 我不是指来自 npm/yarn 的包, 而是指本地文件夹。例如在文件a.js:

import  someFunc  from 'helpers'

而文件夹结构是:

src
  helpers
    someFunc.js
    index.js
  components
    a.js

虽然我怀疑这种在a.js 中的导入方式是通过导出someFunc 的index.js 文件来启用的,但我找不到任何关于这种方法的文档。 Javascript 是否会递归搜索父目录,直到找到名称为 helpers 且包含 index.js 的文件夹?这个机制是由 Javasript 提供的还是其他的?

【问题讨论】:

没有这种方法,您只能参考文件夹名称。要么必须是 npm 包,要么您需要指定该文件夹的相对路径。 【参考方案1】:

AFAIK,如果您没有提及文件的绝对路径,则在node_modules 中进行节点搜索。示例:

const express = require('express'); // Would search in node_modules
const express = require('./express'); // Would search for express.js in current directory

【讨论】:

我更新了我的问题,我指的不是 npm 包。【参考方案2】:

事实证明,这种模式可以通过 babel.js module-resolver 功能启用。

【讨论】:

以上是关于node.js 如何在不指定文件夹路径的情况下使用 index.js 解析所需的文件夹?的主要内容,如果未能解决你的问题,请参考以下文章

如何在不使用 node.js 的情况下添加标准反应应用程序 [关闭]

如何在不使用 npm 的情况下安装 node.js 模块?

NODE.JS 如何在不填满存储空间的情况下保存 JSON 数据 [关闭]

如何在不导致停机的情况下部署 Node.js 应用程序

如何在 Ubuntu 上停止 Node.js 并在不停止的情况下注销 [重复]

如何在不影响 Node.JS 应用程序的情况下从后台异步发送大量电子邮件?