0

我正在尝试在我的 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 函数没有得到优化,这会导致未知类型异常

4

1 回答 1

0

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

于 2021-12-01T13:49:19.500 回答