2015-02-05 53 views
4

我正在開發一箇中型團隊的大型前端應用程序。到目前爲止,我們一直在使用requirejs和AMD模塊來管理我們的〜500文件項目。我們最近決定遷移到commonjs並出於各種原因使用NPM作爲我們的軟件包管理器。這是我的問題:管理與NPM的文件依賴關係

如何將一個隨機的單獨框架文件(aka jquery插件)合併到我們的package.json中?

例如,我們使用這個隨機jQuery的顏色選擇器https://github.com/laktek/really-simple-color-picker/blob/master/jquery.colorPicker.min.js

但是在github回購不具有的package.json因此使用NPM內置的混帳迷死人不工作。那麼我應該怎麼做呢?我一直在嘗試使用它的'file:../../'語法,但我認爲它希望我指向一個節點模塊文件夾,我不知道如何設置該文件夾。

Bonus問題

我該如何處理「墊片」,例如,我希望我的視圖引用「淘汰賽」,但實際上是引用一個文件本身包含淘汰賽,並添加我們所有的插件和自定義善良,然後再出口淘汰賽

任何和所有幫助表示讚賞!

+0

您可以創建和管理個人NPM軟件包以保留或提供任何您想要的內容。 [你甚至可以管理私人回購](http:// stackoverflow。COM /問題/ 7575627 /罐您主機-A-私人倉庫換您的組織使用的與 - NPM) – laggingreflex 2015-02-05 23:35:00

回答

2

如何將一個隨機的單獨框架文件(aka jquery插件)合併到我們的package.json中?

首先,提出問題並要求維護人員支持一些軟件包管理器。 npm會很好,但即使是涼亭也會。抓取隨機文件的舊時代早已不復存在。第二,如果作者不遵守,考慮分叉他們的代碼並將它發佈到npm或者bower for them/for你。考慮到npm和bower中至少有一個可以使用的數千個軟件包,我認爲這是在我的項目中使用該軟件的主要標誌。

第三種選擇,雖然只是下載他們的文件,並把它放在你的Git倉庫,並通過the browser field in package.json沿着這些線路中引用它:

"browser": {"colorPicker": "./thirdParty/jquery.colorpicker.js"} 

如何應對「墊片」,例如我想我的觀點引用「淘汰賽」,但在現實中引用自身包括淘汰賽,並增加了我們所有的插件和定製善良的,然後再出口淘汰賽

這正是browserify-shim爲一起使用時,文件一個瀏覽器轉換。

處理所有生態系統和黑客有點學習曲線和/或挫敗感,但最終我幾乎能夠使用正確的browserify和browserify-shim配置工作,其中包括jquery,jquery插件,angularjs以及幾乎所有來自涼亭的軟件包。

如果您遇到困難,請發表一個單獨的問題,告知您如何卡住的具體細節。