编译后的Chrome扩展程序不支持多个后台脚本

时间:2018-09-16 16:38:00

标签: javascript webpack google-chrome-extension

我正在尝试在chrome扩展程序中的多个后台脚本之间共享功能。通常,只要将脚本添加到manifest.json中,就可以轻松进行设计,通常,只要您首先加载其他脚本,从background.js调用的函数就可以在另一个脚本中调用代码。

但是,我尝试了一些Chrome扩展程序生成器模板,这些模板具有gulp或webpack的编译步骤。 (例如,这一个:https://github.com/samuelsimoes/chrome-extension-webpack-boilerplate

但不幸的是,功能共享在已编译的background.js脚本中中断

我不知道使用编译代码时,chrome扩展体系结构中的“魔术”是什么。

对于可能阻止功能共享的任何建议/见解,我们深表感谢。 有关实施的详细信息,例如webpack.config等。请参见样板,因为这也是我正在使用的模板。

1 个答案:

答案 0 :(得分:0)

进一步研究后回答我自己的问题:

问题似乎是webpack将每个文件编译到一个模块中,因此需要更改以适应这些文件之间的功能共享。

我决定将webpack(特别是webpack-concat-plugin)更容易地依赖于背景,而不是在每个后​​台脚本中添加module.exports语句,并且不必在我的所有函数引用前添加模块名称。文件。