Google chrome extension 是否可以使用Clojurescript或Google Close来编写Chrome扩展或web应用程序?
我想使用clojurescript来编写chrome扩展。chrome扩展通常使用HTML/CSS/JS制作,因此clojurescript应该可以正常工作,因为它可以编译为JavaScript。尽管如此,我认为还没有人真正用ClojureScript构建了一个大型扩展。作为概念证明,这里概括介绍了如何创建一个简单的警报扩展名,该扩展名为Zaboomafoo(对不起,这个名字): 首先安装并安装。阅读lein cljsbuild的文档并查看,以了解如何在项目和编译中使用lein cljsbuild 制作一个ClojureScript文件,该文件显示一个警告,上面写着“Zaboomafoo”,如下所示:Google chrome extension 是否可以使用Clojurescript或Google Close来编写Chrome扩展或web应用程序?,google-chrome-extension,clojure,google-closure,clojurescript,Google Chrome Extension,Clojure,Google Closure,Clojurescript,我想使用clojurescript来编写chrome扩展。chrome扩展通常使用HTML/CSS/JS制作,因此clojurescript应该可以正常工作,因为它可以编译为JavaScript。尽管如此,我认为还没有人真正用ClojureScript构建了一个大型扩展。作为概念证明,这里概括介绍了如何创建一个简单的警报扩展名,该扩展名为Zaboomafoo(对不起,这个名字): 首先安装并安装。阅读lein cljsbuild的文档并查看,以了解如何在项目和编译中使用lein cljsbuil
(ns Zaboomafoo.hello)
(js/alert "Zaboomafoo")
使用leincljsbuild
编译此文件以获取JavaScript文件。然后为扩展添加一个基本HTML文件和manifest.json
Zaboomafoo.html:
<!Doctype html>
<html>
<head>
<title>Zaboomafoo!</title>
</head>
<body>
<script type="text/javascript" src="Zaboomafoo.js"></script>
</body>
</html>
将新的manifest.json、Zaboomafoo.html和Zaboomafoo.js放在一个明显的文件夹中。最后,转到chrome扩展页面,打开开发者模式,加载未打包的扩展,并打开一个新选项卡。当您打开选项卡时,扩展应该加载一个令人烦恼地说“Zaboomafoo”的警报。希望使浏览器扩展变得更流行一点,但这是它的一般流程。看看用cljs编写的chrome扩展,它允许您通过选择来评估浏览器中的clojure代码作为示例。我启动该项目的确切目的是使用ClojureScript编写chrome扩展
虽然greenyouse
answer确实为您提供了一般指导,但作为ClojureScript的初学者,我在使用lein
和cljsbuild
时遇到了一些问题,并选择先进行基本设置。也许它会帮助别人
旁注:一旦我更好地理解了事情,我计划将我的项目迁移到
lein
和cljsbuild
。此时,我将更新此答案。我刚刚发布了一个简单的Chrome扩展示例项目以及一些文档:
它使用Chromex库:
免责声明:我是图书馆的作者这个项目(goranjovic/ChromeCrojure)似乎没有使用任何ClojureScript。相反,Chrome扩展(用纯JavaScript编写)将选定的Clojure代码发送到外部Clojure JVM进程,并将结果返回给浏览器。我认为这不是海报想要的。
{
"name": "Displays Zaboomafoo when opening a new tab",
"version": "0.1",
"incognito": "split",
"chrome_url_overrides": {
"newtab": "Zaboomafoo.html"
},
"manifest_version": 2
}