簡體   English   中英

在Node.js中無法解析相對路徑

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM