簡體   English   中英

是否可以使用Clojurescript或Google Closure編寫Chrome擴展程序或網絡應用程序?

[英]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(對不起該名稱):

首先安裝Leiningenlein-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的初學者,我在使用leincljsbuild遇到了一些麻煩,並選擇先進行基本設置。 也許它會幫助別人。

旁注:一旦我更了解事情,我計划將項目遷移到leincljsbuild 那時我會更新這個答案。

看看用cljs編寫的這個 chrome擴展,它允許你通過選擇來評估瀏覽器中的clojure代碼作為例子。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM