在 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 登录