2017-04-03 107 views
1

我创建一个名为core模块具有该项目的核心功能没有得到解决。 我还创建了一个用于在的NodeJS核心项目服务项目。此核心模块将作为node_modules依赖项(package.json)包含在service-app中。相对路径的NodeJS

我的服务的应用程序调用核心应用和核心应用程序使用相对路径:


//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是正确的,而且有时正常运行过程中出现的其它系统。

现在,我更换的相对路径,

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

然后它正在运行。

我解决了错误,但不知道编码标准。作为参考,我检查了另一个node_modules库,发现它们也以相同的方式使用相对,但我的情况提示错误。

回答

1

__dirname给人当线程执行的NodeJS当前目录。因此,取代通过__dirname更好使用的相对路径。