在nodejs中没有解决相对path

我创build了一个名为core的模块,它具有项目的核心function。 我还创build了一个使用nodejs中的核心项目的服务项目。 这个核心模块被包含在service-app中的node_modules依赖项(package.json)中。

我的服务应用程序调用核心应用程序和核心应用程序使用相对path


 //core-app -> logger.js const loggerConfig = require('../../configs/logger-config.json'); 

当服务应用程序启动时,它需要core-app -> logger.js

 const logger = require('core'); 

比它提示错误

 Error: Cannot find module '../../configs/logger-config.json 

这里../../configs/logger-config.json是正确的,它有时会在其他系统上正常运行。

现在,我把相对path,

 //core-app -> logger.js const path = require('path'); const loggerConfig = require(path.join(__dirname,'../../configs/logger-config.json')); 

那么它正在运行。

我解决了错误,但不知道代码标准。 作为参考,我检查了其他node_modules库,发现他们也用相同的方式,但我的情况下,它会提示错误。

__dirname给出线程在nodejs中执行的当前目录。 所以,通过__dirname来代替相对path更好使用。