在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更好使用。