【发布时间】:2014-08-07 20:20:46
【问题描述】:
我正在使用 node 来运行一些 JS 任务。我正在使用 node require 来包含我编写的其他需要的文件。我试图包含的文件存在于同一目录中。这些文件没有什么特别之处;只是普通的旧 JavaScript。我没有将内容提供给浏览器或任何东西。我只是想运行 JS 逻辑。
我的目录结构:
- 根
- 练习
- ex1
- FileLoader.js
- FileOne.js
- ex1
- 练习
在我的 FileLoader.js 中,我自己运行了这些文件路径模式中的每一个。它们按照我的尝试顺序。
require('./exercises/ex1/FileOne.js'); // Attempt 1 path
require('FileOne.js'); // Attempt 2 path
require('/exercises/ex1/FileOne.js'); // Attempt 3 path
require('../../exercises/ex1/FileOne.js'); // Attempt 4 path
终端命令:
node ./exercises/ex1/ex1.js
结果:
- 尝试 1 - 错误:找不到模块 './exercises/ex1/FileOne.js'
- 尝试 2 - 错误:找不到模块“FileOne.js”
- 尝试 3 - 错误:找不到模块“/exercises/ex1/FileOne.js”
- 尝试 4 - 即使我没想到它也成功了.... FML
所以最后一个有效,但所需的路径非常愚蠢。似乎我的应用程序没有根的概念。我假设那个节点认为我的根是 ex1。但是我希望尝试 2 能够奏效。我觉得我忽略了一些愚蠢的事情。
问题:
- 在 require 中使用文件路径的正确方法是什么?
- 有没有办法用node设置根目录?
谢谢,
约旦
【问题讨论】:
-
我认为正确的语法应该是
require("./FileOne.js");... -
UGG。你想把它作为答案吗?那么我可以给你信用。
-
为了将来使用,这个链接解释了 node.js 如何搜索需求:nodejs.org/api/…
标签: javascript node.js require