内容脚本的多个 .js 文件不起作用

Multiple .js files for content script not working

我正在开发一个使用内容脚本的 chrome 扩展。为了使代码更易于维护,我想将代码拆分成多个文件。我到处都遵循了有关如何为同一匹配模式使用多个文件的所有说明,但似乎没有任何效果。

这是我的 manifest.json:

{

  "manifest_version": 2,
  "name": "Test Extension",
  "version": "0.1",

  "description": "This is a test extension",

  "icons": {
    "48": "icons/icon-48.png"
  },

  "content_scripts": [
    {
      "js": ["test.js", "main.js"],
      "matches": ["*://*.netflix.com/*"],
      "run_at": "document_end"
    }
  ]

}

现在我有两个脚本想一起使用,test.jsmain.js

test.js:

var test = "Hello";
console.log("This is a test");

main.js:

console.log(test);

test.js 中声明的变量应该是全局的并且可以从 main.js 脚本访问,但是当我在 chrome 中尝试它时它说 "test is not defined"。显然第一个脚本甚至没有执行,因为我添加到 test.jsconsole.log 根本没有出现在控制台中。我还确保 test.jsmain.js 之前,以便它以正确的顺序加载,我也尝试使用像 jquery 这样的库,但我无法访问变量和 main.js.

中另一个文件的函数

非常感谢任何帮助。

我正在使用 Chrome 的插件 "Extension Reloader" 来快速重新加载我的扩展程序和当前站点,它显然不会重新加载 manifest.json。对清单中已有文件的更改有效,但当您向其中添加另一个文件时,它不会 运行。
因此,如果您也使用该扩展名,请务必在 chrome://extensions 更改清单中的任何内容时。