2013-07-31 47 views
1

是否有任何技術可以分解或模塊化Chrome擴展中的背景頁面?當我繼續開發我的擴展時,幾乎所有的javascript都在後臺頁面,因爲它是擴展的唯一持久運行腳本(我的javascript的少數部分在popup.js和內容腳本中)。 只想知道開發者做什麼 - 只接受一個非常大的background.js文件?理想情況下,我想「包含」包含數據或對象的不同js文件,並將其簡單地包含到background.js中,但這在javascript中顯然不可行。Chrome擴展程序臃腫的背景頁面

有什麼建議嗎?

+0

只要下載了一堆擴展,並看看他們。當然,擴展名是.crx(iirc),但實質上,它只是一個zip文件。安裝,谷歌放置它的位置,導航那裏,複製,粘貼,更改爲zip文件的擴展名。打開並瞧! – enhzflep

+1

@enhzflep安裝https://chrome.google.com/webstore/detail/chrome-extension-source-v/jifpbeccnghkjeaalbbjmodiffmgedin是一種向擴展程序添加查看源選項的擴展程序,這樣更容易。 –

+0

@RobW - 如果我可以投兩次票,我會嘗試四次!現在這是一件很好的工作。我早就喜歡這個(甚至更多)。安裝和享受。 :thumbsup:非常感謝。 – enhzflep

回答

0

除了指定背景腳本,您還可以指定自己的背景頁面,請參閱文檔http://developer.chrome.com/extensions/background_pages.html。這樣的背景頁面允許您使用常規腳本標記或其他技術加載任意數量的腳本。當您指定後臺腳本而不是後臺頁面時,會爲您生成默認背景頁面(帶有一個腳本標記,指向您的腳本)。

你也可以看看像RequireJS這樣的腳本加載器。

我目前正在開發一個使用CommonJS模塊(即Node.js中使用的樣式)與Browserify編譯的擴展,它將所有模塊組合成一個大文件。這對我很好。

1

在你的manifest.json文件,你可以指定多個腳本加載到你的背景活動頁面:

"background": { 
    "scripts": [ 
     "foo.js", 
     "bar.js", 
     "baz.js" 
     // etc 
    ], 
    "persistent": true // or false! 
} 
相關問題