2015-10-23 51 views
3

在我project.clj我定義的依賴越來越時刻在Clojurescript工作與cljsjs /力矩

[cljsjs/moment "2.10.6-0"] 

,我需要它使用

(:require [cljsjs.moment :as m]) 

我我cljs文件嘗試使用這樣

(m/from-now 3485736776) 

但它說Uncaught ReferenceError: cljsjs is not defined

我也試過

(m/fromNow 3485736776) 

萬一函數調用是錯誤的,但我得到了同樣的錯誤...任何想法?

回答

5

有一個在cljsjs的wiki頁面的解釋=>A Quick JavaScript Interoperability Refresher

基本上,require cljsjs的包沒有:as:refer。和你的案例 - moment,全球命名空間js。下面是一個例子從我cljs REPL:

(require '[cljsjs.moment]) 
;;=> nil 
(js/moment) 
;;=> #object[Moment Sat Oct 24 2015 04:29:19 GMT+0700] 
(.fromNow (js/moment) 3485736776) 
;;=>"a few seconds" 
+0

其實時間戳需要傳遞到此刻構造所以答案應該是'(.fromNow(JS /力矩3485736776))'...但它是從'js'全局命名空間中使用,這是什麼我錯過了。奇怪,因爲我用':as'使用cljsjs/d3,效果很好 – stukennedy