在 clojurescript 中使用 Bootstrap datetimepicker 的问题

Posted

技术标签:

【中文标题】在 clojurescript 中使用 Bootstrap datetimepicker 的问题【英文标题】:Problem with using Bootstrap datetimepicker in clojurescript 【发布时间】:2022-01-08 02:18:05 【问题描述】:

我正在尝试在我的 clojurescript 项目中使用 Bootstrap datetimepicker,如下所示:

(.datetimepicker (js/$ "#dateid")

但我最终得到了 datetimepicker 函数的 Uncaught TypeError。

Error: Uncaught TypeError: $(...).Bk is not a function

经过一些分析,我发现其中的一个原因可能是谷歌闭包编译器所做的优化。 一种可能的解决方法是创建 extern.js 文件并添加函数名称,以便在闭包编译器中不对名称进行优化。

我尝试修改我的 extern.js,但没有帮助 我的 extern.js 看起来像这样。

 var $ = function (arg1, arg2) ;
    $.prototype.val = function(arg1) ;
    var selectpicker = function() ;
    $.datetimepicker = function(arg1) ;
    var datetimepicker = function() ;
                      

我仍然遇到同样的错误。

我需要知道我的 extern.js 出了什么问题,这样我就可以避免 bootstrap-datetimepicker 函数没有得到优化而导致未知类型异常

【问题讨论】:

你的代码是什么?你到底在哪里得到错误? 【参考方案1】:

google 闭包将 clojurescript 的 js 文件编译为优化文件。 但是当我们尝试使用 js 库并且不使用 extern 来映射名称时,这也会导致问题。 所以函数名 Bk 是一个优化的名称,但它应该使用 extern.js 文件进行映射。 我不确定该怎么做。

【讨论】:

您的答案可以通过额外的支持信息得到改进。请edit 添加更多详细信息,例如引用或文档,以便其他人可以确认您的答案是正确的。你可以找到更多关于如何写好答案的信息in the help center。 使用 cljsjs 库解决问题。

以上是关于在 clojurescript 中使用 Bootstrap datetimepicker 的问题的主要内容,如果未能解决你的问题,请参考以下文章

无法在ClojureScript 1.8 Lein项目中使用NodeJS Twitter库

Clojurescript 中的 Javascript 互操作分配

无法使用 ClojureScript 检测 Metamask 登录

ClojureScript 指数 - 从 API 获取数据

在clojurescript re-natal中使用RNCamera捕获图片时出错

Etudes for ClojureScript