我想用clojurescript编写chrome扩展名。
答案 0 :(得分:22)
Chrome扩展程序通常使用HTML / CSS / JS制作,因此ClojureScript应该可以正常工作,因为它可以编译为JavaScript。话虽如此,我认为还没有人用ClojureScript构建一个大型扩展。作为概念证明,这里是一个关于如何制作一个简单的警报扩展的概述,该扩展将说Zaboomafoo(对不起该名称):
首先安装Leiningen和lein-cljsbuild。阅读lein-cljsbuild的文档并查看wiki on ClojureScript以了解如何将lein-cljsbuild用于项目和编译。
制作一个ClojureScript文件,显示一条警告“Zaboomafoo”,如下所示:
(ns Zaboomafoo.hello)
(js/alert "Zaboomafoo")
使用lein cljsbuild
对此进行编译以获取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:
{
"name": "Displays Zaboomafoo when opening a new tab",
"version": "0.1",
"incognito": "split",
"chrome_url_overrides": {
"newtab": "Zaboomafoo.html"
},
"manifest_version": 2
}
将新的manifest.json,Zaboomafoo.html和Zaboomafoo.js放入显而易见的文件夹中。最后,转到chrome扩展页面,打开开发人员模式,加载解压扩展,然后打开一个新选项卡。当您打开选项卡时,扩展程序应加载一个恼人地说“Zaboomafoo”的警报。希望使浏览器扩展变得更受欢迎,但这是它的一般流程。
答案 1 :(得分:4)
我刚刚发布了一个简单的Chrome扩展示例项目以及一些文档: https://github.com/binaryage/chromex-sample
它使用Chromex库: https://github.com/binaryage/chromex
免责声明:我是图书馆的作者
答案 2 :(得分:0)
我启动了this项目,目的是使用ClojureScript编写Chrome扩展程序。
虽然greenyouse
回答确实为您提供了一般说明,但作为ClojureScript的初学者,我在使用lein
和cljsbuild
时遇到了一些麻烦,并选择先进行基本设置。也许它会帮助别人。
旁注:我计划将项目迁移到lein
和cljsbuild
,一旦我了解得更好。那时我会更新这个答案。
答案 3 :(得分:-1)
查看用cljs编写的this chrome扩展名,它允许您通过选择来评估浏览器中的clojure代码作为示例。