2014-04-01 114 views
-1

我正在製作一個npm軟件包,用於語言解析和靜態文件構建。我想利用現有的庫進行解析和構建,但我不希望所有的庫都作爲依賴關係,因爲消費者不太可能需要支持eveyry語言。NPM安裝選項

我還沒有找到一種方法來在安裝時提示用戶並有條件地安裝某些依賴項。

目前,我完全忽略了語言特定的依賴關係,並提示用戶在運行時爲他們正在使用的語言安裝它們。

有沒有更好的/標準的方法來做到這一點?

回答

0

最好的解決方法是插件。這就是構建工具如何實現的。

插件意味着告訴用戶安裝你的軟件包以及處理「語言」或任何可選依賴項的必要軟件包。

http://blog.nodejs.org/2013/02/07/peer-dependencies/

http://gruntjs.com/plugins

https://github.com/substack/node-browserify

+0

我不是,雖然創建一個插件或創建一個平臺,爲他人創建的插件。我只想讓用戶在安裝我的軟件包時指定'javascript',這樣我就可以安裝esprima和escodegen,而不用其他軟件包來安裝他們不使用的語言。根據您鏈接的文章,對等依賴關係仍然會導致安裝所有列出的軟件包。 –