Krom uzantıları yazmak için clojurescript kullanmak istiyorum.Chrome uzantıları veya web uygulaması yazmak için Clojurescript veya Google Closure kullanmak mümkün mü?
cevap
Chrome uzantıları genellikle HTML/CSS/JS ile yapılır, bu yüzden ClojureScript, JavaScript'i derlediği için düzgün çalışmalıdır. Bununla birlikte, kimsenin henüz ClojureScript ile büyük bir uzantı oluşturduğunu düşünmüyorum. Kavramın bir kanıtı olarak, Zaboomafoo (bu isim için özür dilerim) diyecek basit bir uyarı uzantısının nasıl yapılacağına dair genel bir taslak olarak:
Önce Leiningen ve lein-cljsbuild'u yükleyin. Lein-cljsbuild için dokümanları okuyun ve projeler ve derleme için lein-cljsbuild'in nasıl kullanıldığını anlamak için wiki on ClojureScript'a bakın.
(ns Zaboomafoo.hello)
(js/alert "Zaboomafoo")
bir JavaScript dosyası almak için lein cljsbuild
ile bu derleme:
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
}
yeni manifest.json koyun yere bariz bir klasöre Zaboomafoo.html ve Zaboomafoo.js. Son olarak, krom uzantı sayfasına gidin, geliştirici modunu açın, paketlenmemiş uzantıyı yükleyin ve yeni bir sekme açın. Uzantı, sekmeyi açtığınızda rahatsız edici bir şekilde "Zaboomafoo" yazan bir uyarı yüklemelidir. Umarız tarayıcı uzantıları biraz daha popüler olur ancak bu genel akışdır.
Örnek olarak tarayıcınızda clojure kodunu değerlendirmenize olanak veren, cljs ile yazılmış this chrome uzantısına bir göz atın.
ClojureScript kullanarak bir Chrome uzantısı yazma amacına tam olarak this projesini başlattım.
greenyouse
yanıtı size ClojureScript'te yeni başlayanlar olarak genel yönergeleri sağlarken, lein
ve kullanarak sorun yaşadım ve önce temel kurulum için gitmeyi tercih ettim. Belki birisine yardım eder.
Sidenote: Bir şeyleri daha iyi anladığımda projemi lein
ve cljsbuild
'a geçirmeyi planlıyorum. Bu noktada bu cevabı güncelleyeceğim. https://github.com/binaryage/chromex
Destek: https://github.com/binaryage/chromex-sample
O Chromex kütüphanesini kullanır:
Ben sadece bazı belgelerle birlikte basit bir Chrome uzantı örnek proje yayımlandı kütüphanenin yazarı
görünüyor değilim Bu proje (goranjovic/chromeclojure) gibi herhangi bir ClojureScript kullanmaz. Bunun yerine, Chrome uzantısı (düz JavaScript’te yazılır) seçilen Clojure kodunu harici bir Clojure JVM işlemine gönderir ve sonucu tarayıcıya döndürür. Bunun posterin aradığı şey olduğunu sanmıyorum. – Aaron