【发布时间】:2018-12-29 08:49:57
【问题描述】:
过去,每当我想在我的 Node.js 应用程序中使用相对路径时,我都会使用 app-module-path。如果我通过 .mjs 格式使用 ES 模块,我如何在某个目录路径变为相对时具有相同的功能?
以另一种方式,我是否可以为目录分配别名,以便所有相对路径都相对于该别名,就像./ 是相对于当前目录的路径的别名一样。
【问题讨论】:
-
每当我想在我的 Node.js 应用程序中使用相对路径时,我都会使用 app-module-path - 你是如何使用它的?不清楚你在问什么。 ES 和 CJS 模块以类似的方式解析。
-
它们以类似的方式解决,但是一旦我使用
import而不是require导入 app-module-path,我就会在终端中遇到神秘错误。 -
如果您有具体问题,请说明并提供stackoverflow.com/help/mcve。对含糊问题的回答不一定有助于解决问题。
-
我想要一种不必在我的 Node.js 项目中的任何地方使用
../的方法。app-module-path允许我通过在根目录中调用require('app-module-path/register')来做到这一点。这样我就可以从项目的任何位置引用根目录中的所有文件夹,例如require('some-directory/a-file'),即使该文件位于根目录中。似乎没有任何解决方案可以使用导入语法来做到这一点。 Webpack 有目录别名,所以我认为必须有一个 Node.js 方式。
标签: node.js es6-modules mjs