2017-01-14 59 views
0

在NodeJS項目中,文件夾./node_modules保留所有項目模塊和依賴關係。在哪裏存儲node.js項目自己的庫?

我的項目有這樣一些圖書館dbConnect.jsutils.jsmessages.jsconstants.js,等等......他們可以在在線存儲庫中找到沒有公共圖書館。我專門爲這個項目寫了他們。所以我把它們存儲在./lib

My project/ 
    /node_modules 
    express 
    cheriio 
    <lot of modules folders installed with npm> 

    /lib 
    dbConnect.js 
    utils.js 
    messages.js 
    constants.js 
    common.js 
    <other project .js files> 

這些庫可以在./node_modules使用一些模塊。 要加載我使用的模塊:

const CHEERIO = require('cheerio'); 
const UTILS = require('../lib/common.js'); 
const COMMON = require('./lib/utils.js'); 

問題是UTILSCOMMON可能無法找到這取決於爲了他們被要求

Error: Cannot find module '../lib/common.js'

我試過../lib/common.js./lib/common.js./common.js

我的queston是,我如何正確存儲項目自己的庫,使他們可以p羅伯特裝載?他們是否應該存儲在項目根文件夾中?

+0

路徑取決於需要這些庫的文件所在的位置,如果該文件位於lib文件夾的相同級別,則可以執行lib/common.js。 –

回答

0

您存儲文件是合乎邏輯的。就像你可能想把你所有的api控制器放在一個文件夾中,你的數據庫連接和查詢放在一個文件夾中,服務放在一個文件夾中。它完全取決於你。您只需要使用從要求文件的位置到文件所在位置的相對路徑。例如,如果你需要一個來自同一個文件夾的文件,'./file_name'應該可以。但是如果你想包含一個文件到一個目錄,那麼你必須使用'../filename'作爲內部需要的路徑。