【问题标题】:What is the default root directory in "require"?“require”中的默认根目录是什么?
【发布时间】:2016-07-05 15:50:07
【问题描述】:

在拼命地设置了一个简单的“require”命令之后,我的理解是:如果项目的node_modules 目录中有example.jsvar example = require("example") 就可以工作。

但是,var example = require("./some_folder/example.js") 存在问题,因为我只需要加载一个 JS 脚本。在我放置 example.js 的任何地方,我都会收到 HTTP 500 错误,这完全肯定是源自 require 行,因为注释掉它会使代码工作。

即使 example.js 的全部内容被注释掉,也会出现此错误,使其为空,意味着不会出错。

我应该把这个文件准确地放在哪里? "./"是哪个文件夹?

是否有可能是缺少module.exports 使其无法工作?

【问题讨论】:

  • require('foo') 指的是 node_modules 中的一个 foo 模块。相对路径,“./foo/something”是指相对于当前文件/模块的路径。此外,您的要求末尾不需要“.js”。这是暗示的。
  • @ndugger 那么这意味着,如果我明白我必须正确设置一个模块,并且不能简单地加载一堆变量和函数以在另一个文件中使用。我的意思是,这就是模块的作用,我知道,但我写下它们并不像往常那样简单,对吧?

标签: javascript node.js express require


【解决方案1】:

需求类型有:

  1. require('foo') // foo 是一个节点模块
  2. require('./foo') //foo是同目录下的js文件

【讨论】:

  • “同目录”是指node_modules,还是调用脚本所在的目录?
  • 你的js文件所在的目录
  • 不知何故,这似乎仍然不起作用。 :/ 但我倾向于接受这是正确的答案,但我把它搞砸了。
  • 试试 var example = require("./some_folder/example");
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-06-26
  • 1970-01-01
  • 1970-01-01
  • 2019-01-18
  • 2022-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多