[英]Is it possible to use Clojurescript or Google Closure to write Chrome extensions or web app?
我想用clojurescript來編寫chrome擴展。
Chrome擴展程序通常使用HTML / CSS / JS制作,因此ClojureScript應該可以正常工作,因為它可以編譯為JavaScript。 話雖如此,我認為還沒有人用ClojureScript構建一個大型擴展。 作為概念證明,這里是一個關於如何制作一個簡單的警報擴展的概述,該擴展將說Zaboomafoo(對不起該名稱):
首先安裝Leiningen和lein-cljsbuild 。 閱讀lein-cljsbuild的文檔並查看ClojureScript上的wiki ,了解如何將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”的警報。 希望使瀏覽器擴展變得更受歡迎,但這是它的一般流程。
我剛剛發布了一個簡單的Chrome擴展示例項目以及一些文檔: https : //github.com/binaryage/chromex-sample
它使用Chromex庫: https : //github.com/binaryage/chromex
免責聲明:我是圖書館的作者
我開始這個項目的目的是使用ClojureScript編寫Chrome擴展程序。
雖然greenyouse
答案確實為你提供了一般的指導,但作為ClojureScript的初學者,我在使用lein
和cljsbuild
遇到了一些麻煩,並選擇先進行基本設置。 也許它會幫助別人。
旁注:一旦我更了解事情,我計划將項目遷移到lein
和cljsbuild
。 那時我會更新這個答案。
看看用cljs編寫的這個 chrome擴展,它允許你通過選擇來評估瀏覽器中的clojure代碼作為例子。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.