我正在尝试在chrome扩展程序中的多个后台脚本之间共享功能。通常,只要将脚本添加到manifest.json中,就可以轻松进行设计,通常,只要您首先加载其他脚本,从background.js调用的函数就可以在另一个脚本中调用代码。
但是,我尝试了一些Chrome扩展程序生成器模板,这些模板具有gulp或webpack的编译步骤。 (例如,这一个:https://github.com/samuelsimoes/chrome-extension-webpack-boilerplate)
但不幸的是,功能共享在已编译的background.js脚本中中断。
我不知道使用编译代码时,chrome扩展体系结构中的“魔术”是什么。
对于可能阻止功能共享的任何建议/见解,我们深表感谢。 有关实施的详细信息,例如webpack.config等。请参见样板,因为这也是我正在使用的模板。
答案 0 :(得分:0)
进一步研究后回答我自己的问题:
问题似乎是webpack将每个文件编译到一个模块中,因此需要更改以适应这些文件之间的功能共享。
我决定将webpack(特别是webpack-concat-plugin)更容易地依赖于背景,而不是在每个后台脚本中添加module.exports语句,并且不必在我的所有函数引用前添加模块名称。文件。