【发布时间】:2017-03-10 15:04:19
【问题描述】:
我正在构建一个 chrome 扩展,但我想使用 react 来构建它。我不确定我需要如何配置我的 manifest.json 才能使其正常工作。
这是我的manifest.json 文件...
{
"name": "Get pages source",
"version": "1.0",
"manifest_version": 2,
"description": "Get pages source from a popup",
"browser_action": {
"default_popup": "./src/index.html"
},
"permissions": ["tabs", "<all_urls>"]
}
现在我在本地运行我的应用程序的方式是使用package.json 中的以下脚本...
"scripts": {
"dev": "webpack-dev-server --content-base src --inline --hot"
}
我的应用显示在localhost:8080。但是,我希望在单击我的扩展程序时打开该应用程序。我怎样才能做到这一点?我需要引用本地主机的路径吗?
目前,当我运行我的扩展程序时,index.html 文件被加载,但没有呈现任何内容。有人能解释一下怎么做吗?
编辑
我也尝试了以下方法,但没有成功...
"browser_action": {
"default_popup": "http://localhost:8080/src/index.html"
},
【问题讨论】:
-
扩展应该包括本地包中的所有代码和页面,如弹出窗口,否则您必须使用 iframe。这样的例子很多。
-
您的 Chrome 扩展程序是否只能在您的计算机上运行?还是您想将其发布到 Chrome 网上应用店?
-
@wOxxOm 将它包含在包中是什么意思?就像将它们包含在我的清单文件中一样?
-
请注意,如果您继续在您的扩展程序中使用 localhost,那么它将无法在其他人的计算机上工作,因为他们不会设置服务器。而是在 index.html 中包含指向缩小 js 文件的链接,并使用 file://path/index.html 而不是 localhost:8080 测试您的应用程序
-
@Dhyey 如果它不能在其他人的计算机上运行,至少现在是这样。但我什至无法让它在本地工作。我尝试了上面的方法,但没有奏效。我的方法是通常的做法吗?
标签: json google-chrome reactjs google-chrome-extension webpack