【发布时间】:2015-11-24 11:06:28
【问题描述】:
我正在使用 React 和 Webpack 开发一个 Chrome 扩展程序。
在这个项目中,不同的模块将使用chrome.tabs.executeScript(null, {file: 'content-script-file.js'})以编程方式注入内容脚本。
这变得有问题,因为我使用 Webpack 来捆绑所有内容。基本上,后台脚本正在加载许多模块,这些模块都配置为在某些情况下以编程方式注入内容脚本。
但是,我不知道如何在捆绑的应用程序中“找到”这些内容脚本。它们从未显式导入,只是在 executeScript 调用中引用。
同时内容脚本使用React,所以要经过Webpack中的babel-loader。
有什么想法吗?
【问题讨论】:
-
所以基本上你必须创建一个包装函数来注入 babel 脚本(可以说是一个非常大的脚本),然后是实际的内容脚本(可能还有触发 babel 的代码)......不是你担心开销可能太大?
-
@wOxxOm:老实说,我想避免这种臃肿,但我是 Webpack 的新手,所以我不确定它可以做什么来防止这种情况发生。跨度>
-
有效的方法是注入预编译脚本。我想您必须手动定义要预编译的脚本列表,但我不是 webpack 专家。
标签: javascript google-chrome-extension reactjs webpack