[英]Relative path not resolved in nodejs
我創建了一個名為core
的模塊,該模塊具有項目的核心功能。 我還創建了一個使用nodejs中的核心項目的服務項目。 此核心模塊將作為node_modules依賴項(package.json)包含在service-app中。
我的服務應用調用核心應用,而核心應用使用相對路徑:
//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庫,發現它們也以相同的方式使用了relative,但是我的情況提示出現錯誤。
__dirname
給出線程在nodejs中執行的當前目錄。 因此,最好通過__dirname
代替相對路徑使用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.