2013-08-26 57 views
2

我開始在我的Dart項目中開始將事情放在單獨的文件/包中。我的項目有兩個通用的關注領域,所以看起來需要有兩個庫,稱它們爲libA和libB,然後是一些泛型代碼,它們都可以用於這兩個庫。理想情況下,我需要在一個文件和全部文件之間進行分開的項目。如何組織我的Dart項目

我不認爲我會想將它們作爲單獨的酒吧出口,但也許......這是否意味着它們應該是圖書館而不是包? Dart中的庫和包是否有區別?我需要3個不同的完整項目嗎?我希望不是。

我想我正在尋找一種方法來在同一個項目中有幾個本地包。

什麼是最簡單的方法來構造一切?

回答

2

如果您的代碼只與一個項目相關,請使用一個包和多個庫。例如,考慮一個塔防遊戲:整個遊戲將會有一個包,但是每個庫都有自己關心的領域(敵方庫,塔庫等)。

如果你的代碼將是相關的多個項目,但只爲您的項目(而不是普通大衆),拆分碼成多個包,使用本地或github上酒吧的依賴,並沒有把它們發佈在酒吧:

dependencies: 
    transmogrify: 
    path: /Users/me/transmogrify 

有關更多信息,請參閱Pub Dependencies

繼續上面的塔防例子,這對於像遊戲工作室飛濺/介紹屏幕這樣的東西很有用。你會希望在多個遊戲中重複使用它,但對除了你之外的任何人都沒有用處。

最後,如果代碼可以用於多個項目,並且對其他開發者感興趣,則將其發佈爲Pub包。例如,一個遊戲引擎對其他遊戲開發者會很有用。

+0

聽起來不錯。你能指導我介紹前兩種方案的一些例子嗎?我主要對文件夾結構和導入語句的外觀感到困惑。 – pseudopeach

+4

http://pub.dartlang.org/doc/package-layout.html是一個很好的閱讀。有關多個內部庫的一個很好的例子,請查看https://github.com/dart-lang/pop-pop-win/tree/master/lib。 –