【发布时间】:2018-10-05 08:33:23
【问题描述】:
我正在使用 Node.js 并希望将我的代码拆分为单独的文件。但是,require 这些模块以可靠的方式似乎相当冗长。
例如:
var module = require(path.resolve(__dirname, "./file.js"));
此外,如果文件位于不同的文件夹中,我将需要处理相对路径混乱。
这似乎是一个相当简单的问题,但我的研究还没有找到解决方案。谢谢你的时间。
【问题讨论】:
-
为什么相对路径不可靠?我从来没有遇到过编码相对路径的问题...
const module = require('../other_folder/file.js') -
@TJBlackman 它是可靠的,只是非常冗长。如果没有
path.resolve和__dirname,您必须保证用户在正确的文件夹中运行脚本。但是,如果您有一棵大树,相对路径可能会很烦人。 -
@iONinja 相对路径(如果它们以
./开头)被解析相对于它们出现的文件。您问题中显示的代码应该与@987654328 的行为相同@ 在所有常见情况下。 -
@cdhowie, thanks.
-
@iONinja 没问题。请注意,这不是“裸”路径的情况,如
require('file.js'),它将仅搜索包含文件夹(通常包括目录树上的node_modules)。./是告诉require()你希望它看起来相对于包含当前模块的目录的神奇位(并且仅该目录 - 不搜索包含目录)。跨度>
标签: javascript node.js module path require