Chrome 扩展:无法加载 javascript 文件

Chrome extension: Could not load javascript file

我已经发布了另一个关于我的 Chrome 扩展 here 的问题。
但我还有一个关于扩展本身的问题。我只需要一个修改Tumblr-Dashboard的内容脚本,不需要后台页面之类的吧?

这是 manifest.json 文件:

{
    "name": "Tumblr - Tiled Dashboard",
    "version": "0.0.54",
    "manifest_version": 2,
    "description": "This extension modifies the look of your Tumblr dashboard.",
    "icons": {
        "16": "images/icon_16.png",
        "48": "images/icon_48.png",
        "128": "images/icon_128.png"
    },
    "content_scripts": [
        {
            "matches": [ "*://*.tumblr.com/dashboard" ],
            "css": [ "styles.css" ],
            "js": [ "jquery-2.1.3.min.js", "masonry.min.js", "code.js" ]
        }
    ],
    "homepage_url": "mypage",
    "author":  "myname"
}

首先,请问这样可以吗?我已经阅读了很多关于 manifest.json 文件的内容,当我在本地试用扩展时,一切似乎都运行良好。但是当我打包扩展并上传时,有两个问题:

  1. 搜索扩展时找不到
  2. 当我使用 link 找到扩展,并且我想安装它时(在 2 台不同的 PC 上试过),我得到一个错误,告诉我 jquery-2.1.3.min.js 文件可以不被加载。因此,我更改了我的 JavaScript 文件的顺序以测试它是否与 jQuery 文件有关,但是将 masonry.min.js 作为数组中的第一个文件导致了同样的错误。

为什么会这样? manifest.json 文件可以吗?我需要一些特殊权限吗?

编辑: 这是我尝试从 Chrome 网上商店(我也无法通过搜索找到它)安装扩展程序时的屏幕截图。

我在下载之前查看了您的扩展程序的 ZIP 文件,结果如下:

*由 Rob Wu

使用 Chrome extension source viewer 检查

这里的问题是,您在 ZIP 文件中上传了一个打包的 CRX 文件,而不是您的扩展源代码。相反,您应该 上传包含您的扩展的根 的 ZIP 文件。由于您包含了 manifest.json 文件,因此在您尝试安装扩展之前,网上应用店不会注意到任何错误,因为清单写得很好,但是当 Chromes 尝试访问声明的文件,它失败并且 returns 一个错误,因为这些文件不存在。

引自 Chrome 网上商店开发人员仪表板的上传页面:

Uploading an item:

因此,您应该在扩展的根目录创建一个 ZIP 文件,其中包含 所有 您的扩展的文件。您的 ZIP 文件应如下所示:

我有同样的“无法加载 javascript 文件”错误,然后我注意到 my_custom_script.js 文件不是在 dist 目录中构建的(我正在使用 npm)。您可以手动移动它并尝试重新加载插件以检查是否存在此问题。

我的解决方案是将 新条目 添加到 webpack.config.js,如下所示:

 entry: {
    'my_custom_script': './my_custom_script.js',
    'background': './background.js',
    'popup/popup': './popup/popup.js',
    'options/options': './options/options.js',
  },