【问题标题】:Cannot find module windows 10 from subdirectory无法从子目录中找到模块 windows 10
【发布时间】:2020-03-25 09:34:41
【问题描述】:

我正在尝试从我在网上找到的演练中运行 node.js 脚本,但是我很早就遇到了错误。 (链接到我正在尝试通过的演练)https://www.education-ecosystem.com/elliottminns/l5DN4-how-to-create-a-cryptocurrency-trading-bot-in-nodejs/q6knD-how-to-create-a-cryptocurrency-trading-bot-in-no-7/

当我在 Windows 10 中使用 Node.js 运行代码时,它给我一个错误,它在子目录中找不到其他模块或其他 .js 文件。

我知道这可能非常简单,但是当我环顾四周时,我想我得到了错误的信息。

我使用 Brackets 查看项目文件夹和 .js 文件,我使用 cmd 和 node 或 node.js 来运行 index.js 文件。

【问题讨论】:

  • 当您需要./app 时会发生什么?顺便说一句,我认为你需要./src/app
  • 你完全正确!我需要 ./src/app 因为那是与主 index.js 文件相关的相对路径所在的位置。 (我当时很愚蠢,没有意识到 /app 和相对路径的主根目录之间还有另一个子目录。大声笑)我仍然遇到不同的错误,但感谢人们愿意在基础知识和用户错误方面帮助我问题。感谢您的宝贵时间。

标签: javascript node.js module path


【解决方案1】:

线

const app = require("app");

将使 Node 尝试从 node_modules 文件夹加载一个名为 app 的模块。

显然,这不是您想要的——相反,您需要加载一个与当前文件相对的文件。要指定相对加载路径,请使用:

const app = require("./app");

Node 然后会查找名为app 的文件或目录。如果它是一个目录,它将从中加载index.js

摘自this article

require 函数会按以下顺序查找文件:

  • 内置核心 Node.js 模块(如 fs
  • NPM 模块。它将在 node_modules 文件夹中查找
  • 本地模块。如果模块名称有.//../,它将在给定路径中查找目录/文件。

【讨论】:

  • 谢谢你的文章,它证实了一些我想过的事情和一些我不知道的事情。这对我帮助很大!
猜你喜欢
  • 2021-04-18
  • 1970-01-01
  • 2021-10-05
  • 1970-01-01
  • 1970-01-01
  • 2019-10-28
  • 1970-01-01
  • 2018-11-25
  • 1970-01-01
相关资源
最近更新 更多