我正在创建扩展程序,我使用的是webpack。打开弹出扩展名时,我需要在活动页面上运行脚本。
chrome.windows.getCurrent(function (currentWindow) {
chrome.tabs.query({ active: true, windowId: currentWindow.id },
function (activeTabs) {
chrome.tabs.executeScript(
activeTabs[0].id, { file: 'js/content.js', allFrames: true });
});
});
这有效,但是如何在连接后立即从content.js调用方法?
content.js:
import Port from './content/port.js'
...
export default {
init(){
console.log('content.js init')
}
}
webpack.config.js:
const content_config = {
context: __dirname + "/src",
entry: "./js/content.js",
output: {
path: __dirname + "/dist",
filename: "js/content.js",
libraryTarget: "var",
library: "Content"
},
resolve: {
extensions: [".js"]
},
module: {
loaders: [
{
test: /\.js$/,
loader: "babel-loader",
exclude: /node_modules/
}
]
}
};
我怎么称呼Content.default.init()?
UPD: 解决方案选项:
start-app.js:
import Content from './content.js'
Content.init()
并将webpack.config.js中的内容替换为StartApp和chrome.tabs.executeScript中的内容。