2013-10-07 89 views
3

我有幾個共享各種資產(CSS,JavaScript等)的Chrome應用程序,但似乎所有組成文件都必須位於應用程序文件夾中。我不想將這些文件放在服務器上,因爲我希望應用程序完全獨立。我嘗試了OS X別名,但Chrome系統在<腳本>元素中未識別出它們。在Chrome(打包)應用程序中共享實施文件?

顯然,我不想保留這些文件的多個副本,因爲它們中的一些在開發過程中經常發生變化。

任何想法都不足以編寫每次文件更改時運行的預處理器?它會使用名爲files.json的文件來列出文件夾中尚未存在的資產或其子文件夾。

回答

1

通常,這些都是通過包管理器完成的。您可以使用bower添加一些本地git依賴項。或者,如果您只是想在每次目標文件更改時將文件複製到文件夾,則可以使用Grunt任務運行器和Watch任務。

0

當我說「編寫一個預處理器」時,我誇大了需要完成的工作。 jusio的解決方案,我想工作,但我做了一件更簡單,這個腳本由內運行的BBEdit:修改過的文件

#! /bin/sh 
cd /Users/marc/Documents/Dropbox/dev/chrome 
rsync -vrt lib NoteTree 
open '/Applications/Chrome Apps.localized/Default nnlinebecgjceggljgcnfploamgnjjhl.app' 

此副本,然後調用Chrome應用。如果它已經在運行,通常在開發過程中,我只需右鍵單擊並選擇重新加載應用程序。這是一個非常快速的編輯和測試循環。

(說明:/用戶/馬克/文檔/ Dropbox的的/ dev/Chrome是我發展的父文件夾,子文件夾lib包含共同文件,NoteTree是我目前工作的應用程序)

+0

這大致就是我們在Chrome Apps團隊中所做的。我們的大多數應用都很小,因爲我們的主要目標是開發應用平臺,而不是應用本身。如果我們正在研究一系列大型相關應用程序,我們可能會想出更強大的功能。 – sowbug

+0

感謝您的信息! –

3

我們目前對「共享模塊」提供實驗性支持,其中一個擴展程序或應用程序可以依賴其他一些擴展程序或應用程序。依賴關係只提供可以在依賴於它們的應用程序/擴展中加載的文件;他們不能擁有自己的任何權限或功能(如後臺頁面)。在安裝時依賴於共享模塊的應用程序/擴展,我們將自動從Chrome網上商店下載並安裝任何缺失的依賴項,並在卸載依賴於它們的所有應用程序/擴展時稍後將其刪除。

現在,該功能僅適用於chrome的開發渠道,但我們打算在我們有機會獲得開發人員反饋時完全支持該功能。如果您想嘗試一下,請獲取chrome dev channel (or canary)的副本。

在manifest.json的延期,這只是你要共享的文件包:

{ 
    ... 

    "export": { 
    "resources": [ "foo.js", "bar.js" ] 
    }, 

    ... 
} 

在manifest.json的延期/應用程序,要取決於以上:

{ 
    ... 

    "import": [{"id": "<id of dependency goes here>"}], 

    ... 
} 

請參閱本代碼審查的測試數據文件的例子:

https://codereview.chromium.org/13971005

(對不起,我們還沒有很好的文檔,我們將最終)

試試看,併發送一些反饋給[email protected][email protected]

+0

我忘了提及在安裝時依賴於共享模塊的應用程序/擴展,我們將自動從chrome webstore下載並安裝任何缺失的依賴關係,以及在卸載所有依賴於他們。 –

+1

不幸被遺棄。 crbug.com/535227 –

相關問題