2015-07-13 24 views
2

我有一個項目,目前有2個npm模塊。一個模塊將在Heroku上運行,而另一個模塊將運行在客戶端上。這兩個模塊都是用Node編寫的。現在,他們有不同的回購協議,但我想把它們放入同一個回購協議。一個git倉庫中的多個模塊;只有一個模塊需要部署到Heroku

它們彼此獨立,但設計爲彼此交互,所以我想讓它們在同一個回購站中,因爲它們是同一個項目的組件。

問題是Heroku推動回購中gitignore文件不會忽略的所有內容,但我不希望客戶端模塊只能放在服務器上。

有沒有告訴Heroku我只想要一個npm模塊的方法,但不是其他的?

也許與git submodules或其他方式?

回答

1

這聽起來像你想打破12因素架構(http://12factor.net/),我不會推薦。如果模塊實際上是獨立的,它們的來源應該單獨維護,而不是在同一個回購站中。

但是,你可以做你想做的事情。把你想要保存的包放入package.json的「dependencies」列表中,並將其他包放入package.json的「devDependencies」列表中。使用Heroku的默認NPM_CONFIG_PRODUCTION=true設置,將不會安裝「devDependencies」。

另外,請記住,有一個額外的模塊「躺在服務器上」不是問題。除非您使用require模塊,否則它不會在運行時影響內存,因此無論您的應用程序在文件系統上是否可用,您的應用程序的行爲都是相同的。

+0

我會接受此答案;我最終讓他們分開。 – ptf

相關問題