我目前是使用JavaScript構建Windows 8應用程序團隊的一員。 我們使用npm和browserify來管理依賴關係,並將我們的模塊轉換爲AMD瀏覽器友好格式。用於複雜應用程序結構的NodeJS本地模塊
我們遇到的一個問題是瘋狂的需要路徑。這是因爲我們的應用程序「組件」中有一個頂級文件夾。該文件夾包含一堆嵌套的UI組件/模塊。這些模塊有時需要駐留在lib目錄中的lib utils和helper。
因此,例如,生活在「我的/應用/組件/產品/格/項目」模塊可能需要位於「我的/應用/ lib中/助理/視圖」的輔助模塊。
需求路徑有點瘋狂,非常難看: require(「../../../../ lib/helpers/view」);
我們正在盡最大努力以模塊化方式構建應用程序。現在我認爲解決這個問題的正確方法是讓我們的組件模塊依賴於這些util輔助模塊。我可以將lib幫助器放到他們自己的外部私人倉庫回購站中,但這對於讓其他團隊訪問(加上git私人回購緩慢)而言已經很痛苦。另外,由於這些模塊僅用於應用程序,所以進行更改,推送更改,然後返回到應用程序和npm更新是浪費時間。這對一些人來說很好,但如果我們真的把這個打破了,它可能會變得很快。
我所能做的NPM安裝的組件的package.json裏面的 「我的/應用/ lib中/助理/視圖」?但是npm install不會自動爲我們做這件事。
我知道其他一些方法(NODE_PATH,也許使用npm安裝鉤子或可能npm預安裝腳本),但想知道是否有其他人有類似的問題和良好的解決方案。
我現在的方法是運行一個批處理腳本,只要我們爲NODE_PATH設置環境變量var。 – pbo 2013-03-09 19:11:05
好吧,多玩點npm鏈接可能是去這裏的路。我讓我的應用程序模塊具有package.json文件,在這些模塊中的npm鏈接使它們可用,然後從頂層npm鏈接它們。只有這裏吸取的東西是我需要確保我們npm鏈接在全新安裝,因爲npm install不會爲我鏈接這些模塊。 – pbo 2013-03-09 19:39:12
我認爲單獨的回購就是要走的路。 – Domenic 2013-03-13 02:24:51