【问题标题】:Chrome Extensions Bloated Background PageChrome 扩展程序背景页面臃肿
【发布时间】:2013-07-31 14:01:27
【问题描述】:

是否有任何技术可以分解或模块化 chrome 扩展中的背景页面?随着我继续开发我的扩展程序,我几乎所有的 javascript 都在后台页面中,因为它是唯一持久运行的扩展程序脚本(我的少数 javascript 是在 popup.js 和内容脚本中)。 只是想知道开发人员是做什么的——只接受一个非常大的 background.js 文件?理想情况下,我想“包含”包含数据或对象的不同 js 文件,并将它们简单地包含到 background.js 中,但这显然在 javascript 中是不可能的。

有什么建议吗?

【问题讨论】:

  • 只需下载一堆扩展并查看它们。当然,扩展名是 .crx (iirc),但本质上,它只是一个 zip 文件。安装,谷歌搜索放置它们的位置,导航到那里,复制,粘贴,将新文件的扩展名更改为 zip。打开瞧瞧!
  • @enhzflep 安装chrome.google.com/webstore/detail/chrome-extension-source-v/… 更容易,这是一个为扩展添加查看源选项的扩展。
  • @RobW - 如果我可以投票两次,我会尝试投票四次!现在这是一件不错的工作。我会更早地喜欢这个(甚至更多)。安装并享受。 :thumbsup: 非常感谢。
  • @enhzflep 好吧,您可以随时登录并为扩展添加评论;)
  • @RobW - 考虑锅炉燃烧和车轮运转。 [编辑:] 废话!另一个注册,只是为了评价它。我已经有一个谷歌帐户,但很抱歉,我想礼貌地拒绝。我不准备创建另一个帐户只是为了发表意见。希望没有难过的感觉。

标签: javascript google-chrome google-chrome-extension


【解决方案1】:

在您的 ma​​nifest.json 文件中,您可以指定要加载到后台事件页面的多个脚本:

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

【讨论】:

    【解决方案2】:

    除了指定背景脚本,您还可以指定自己的背景页面,请参阅http://developer.chrome.com/extensions/background_pages.html 获取文档。这样的背景页面允许您使用常规脚本标签或其他技术加载任意数量的脚本。当您指定背景脚本而不是背景页面时,会为您生成一个默认背景页面(带有一个脚本标记指向您的脚本)。

    您还可以研究像 RequireJS 这样的脚本加载器。

    我目前正在使用用 Browserify 编译的 CommonJS 模块(即 Node.js 中使用的样式)开发一个扩展,它将所有模块组合成一个大文件。这对我很有效。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-03-28
      • 1970-01-01
      • 2018-07-09
      • 1970-01-01
      相关资源
      最近更新 更多