1
要求中一個的NodeJS文件I有一個虛構的應用程序包(節點模塊)我導入到我的應用程序,如下所示:使用規範的或根目錄相對路徑
var sqrt = require('common-math').sqrt
但是,使用此相同的模塊來自common-math
模塊內部似乎很棘手。我似乎只需要選擇,這兩者都是不理想:
- 使用相對路徑從每一個地方,我需要獲得訪問模塊需要。這可以是
require('../sqrt')
或require('../../../lib/sqrt')
。 - 將模塊放入
node_modules/sqrt/index.js
,然後執行require('sqrt')
。
我只是想能夠require('common-math').sqrt
就像這個包的所有消費者一樣。我意識到我可以創建一個node_modules/common-math
文件夾,其中包含一個符號鏈接到我的包的index.js
,但這是一種常見/推薦的做法嗎?
嗯,其實,你有第三個選擇 - 你可以在全球範圍安裝(全球node_modules)。然後你可以按照你的意願要求它。 –
我可以問你,爲什麼相對路徑不夠好? –
因爲它非常脆弱。如果我移動我的消費文件,我有很高的破壞風險。將它與我可以從我的包中的任何位置(或者甚至從外部用另一個包)導入com.common.math.sqrt'的Java進行比較,你就會明白我的意思了。 –