标签: clojurescript

如何从localstorage中提取一个整数并使用clojurescript强制转换为整数

我试图用一个简单的clojurescript应用程序从localStorage中提取一个整数.我尝试的所有东西最终都尝试了某种错误的行为.

以下是我的程序,没有从本地存储初始化.我会忽略未找到密钥的情况,因为我有一个JQuery版本可以处理它来填充存储空间.此外,JQuery应用程序读取ClojureScript保存到localStorage很好.这对我有用.

快速总结是这样的.我的消息说"自上次事件发生以来已有数天",$ number位于一个名为"counter"的div中.我有三个按钮; 一个递增计数,一个递减计数,最后一个将计数重置为零.

 (ns days.core
        (:require [goog.events :as events]
                  [goog.string :as string]
                  [goog.math.Integer :as int]
                  [goog.dom :as dom]))
    (defn initial-state [] 0)
    (def count (atom (initial-state)))
    (defn set-counter [n]
       (do (.setItem (.localStorage (dom/getWindow)) "count" n)
           (dom/setTextContent (dom/getElement "counter") n)))
    (defn set-button-fn [button-id f-update]
       (events/listen (dom/getElement button-id)
                      "click"
                      (fn [] (do (f-update) (set-counter @count)))))
    (defn start-app []
       (do
           (set-counter @count)
           (set-button-fn "addDay" (fn [] (swap! count inc)))
           (set-button-fn "decDay" (fn [] (swap! count dec)))
           (set-button-fn "reset" (fn [] (reset! …
Run Code Online (Sandbox Code Playgroud)

clojure google-closure-library clojurescript

9
推荐指数
1
解决办法
6336
查看次数

在生产中获取Clojurescript repl/connect以不编译?

在我的clojurescript代码中,我有以下内容:

(defn onload [] (repl/connect "http://localhost:9000/repl"))

(set! (.-onload js/window) onload)
Run Code Online (Sandbox Code Playgroud)

Clojurescript repl在开发中非常有用,但我在制作过程中将它留在代码中犹豫不决.在开发(简单编译)期间使用上述代码的最简洁方法是什么,但在生产(高级编译)期间不存在?

clojure clojurescript

9
推荐指数
2
解决办法
574
查看次数

在cljs打印漂亮

我试图在浏览器的控制台上从clojurescript打印出一个JSON.

我找到了以下链接 - 如何使用JavaScript漂亮地打印JSON?

以上链接提供以下js - JSON.stringify(obj, undefined, 2)

cljs中的以下翻译不起作用 (.stringify js/JSON obj undefined 2)

  1. 在cljs中是否有任何原生方式可以进行漂亮的打印?
  2. 任何想法为什么上面的cljs表达不起作用?

clojure clojurescript

9
推荐指数
2
解决办法
4888
查看次数

ClojureScript clojure.set?

如何在ClojureScript中使用clojure.set?

我总是得到一个错误.

(def middle-land (set (for [x water-hor
                            y (vec (clojure.set/difference (set (range 0 board-side))
                                                           (set water-ver)))]
                    [x y])))

ReferenceError: clojure is not defined
Run Code Online (Sandbox Code Playgroud)

clojure clojurescript

9
推荐指数
1
解决办法
1103
查看次数

ClosureScript和NodeJS:错误:为评估环境设置No*print-fn*fn

我跟着"你好世界!" 这些指南中NodeJS的示例

并为每个我得到这个错误

Error: No *print-fn* fn set for evaluation environment
Run Code Online (Sandbox Code Playgroud)

我错过了一步吗?这似乎是一个相当基本的问题...有谁知道print-fn设置在哪里?

clojure node.js clojurescript

9
推荐指数
1
解决办法
2194
查看次数

在Prismatic/Schema中打开/关闭验证的全局标志?

在开发期间,我想为使用schema.core/defn定义的所有函数启用验证,而不是必须使用它们进行注释:^:always-validate.这个库有可能吗?

这样的东西不起作用,可能是因为元数据只在编译时添加:

(def dev false)

;; example of schema validation
(sm/defn ^{:always-validate dev}
  add :- s/Num
  [a :- s/Num b :- s/Num]
  (+ a b))
Run Code Online (Sandbox Code Playgroud)

clojure clojurescript plumatic-schema

9
推荐指数
1
解决办法
390
查看次数

Clojure/ClojureScript Crossovers和cljx

我试图弄清楚ClojureScript交叉和cljx预处理器之间的关系.

它们是否可以一起使用?或竞争对手解决同样的问题?

一个人成为首选或更标准的做事方式吗?

特别是我想要做的是创建一个可以编译为Clojure和ClojureScript的单个库(有几个变体).我目前正在使用cljx.

但后来我想将库包含在更多的clj和cljx项目中.寻找有关这方面的信息,我很多时候会遇到交叉的文档而不是cljx.

clojure leiningen clojurescript cljx

9
推荐指数
1
解决办法
593
查看次数

ClojureScript - 将任意JavaScript对象转换为Clojure Script映射

我试图将Javascript对象转换为Clojure.但是,我收到以下错误:

 (js/console.log (js->clj e)) ;; has no effect
 (pprint (js->clj e)) ;; No protocol method IWriter.-write defined for type object: [object Geoposition]
Run Code Online (Sandbox Code Playgroud)

是的,这个对象来自Geolocation API.我想,我必须扩展IEncodeClojure和IWriter,但我不知道怎么样.

例如,添加以下内容:

(extend-protocol IEncodeClojure
  Coordinates
  (-js->clj [x options]
    (println "HERE " x options)))
Run Code Online (Sandbox Code Playgroud)

加载我的代码时产生错误: Uncaught TypeError: Cannot read property 'prototype' of undefined

clojure clojurescript

9
推荐指数
2
解决办法
3906
查看次数

如何部署单页应用程序.用ClojureScript/Figwheel写成静态服务器?

我正在玩Figwheel并编写一个简单的单页应用程序,不需要任何服务器端智能.

原则上,这个程序.可以放在任何静态Web服务器上.

但是我该如何实际部署呢?看起来我的Figwheel开发环境中的main.js正在设置图形连接.

我实际需要将什么js和html文件放在我的静态服务器上?Figwheel是否创建了它们,还是我需要创建一个新的main.js和index.html?我在哪里可以找到例子?

该文档非常适合如何开始使用Figwheel,但令人惊讶的是对完成开发后的操作保持沉默.

clojurescript single-page-application figwheel

9
推荐指数
1
解决办法
1836
查看次数

如何在为React Native捆绑js时阻止节点内存不足

使用ClojureScript为React Native捆绑js时出现以下错误.在捆绑javascript包时,似乎节点内存不足.使用ClojureScript时可能会发生这种情况,因为生成的js文件通常比vanilla js更大.

FATAL ERROR: CALL_AND_RETRY_LAST Allocation failed - JavaScript heap out of memory

<--- Last few GCs --->

  152689 ms: Mark-sweep 1369.3 (1434.8) -> 1362.8 (1434.8) MB, 2794.5 / 0 ms [allocation failure] [GC in old space requested].
  155498 ms: Mark-sweep 1362.8 (1434.8) -> 1362.9 (1434.8) MB, 2808.4 / 0 ms [allocation failure] [GC in old space requested].
  158508 ms: Mark-sweep 1362.9 (1434.8) -> 1362.8 (1434.8) MB, 3010.8 / 0 ms [last resort gc].
  161189 ms: Mark-sweep 1362.8 (1434.8) …
Run Code Online (Sandbox Code Playgroud)

clojurescript react-native cljsrn

9
推荐指数
2
解决办法
2610
查看次数