首页 > 解决方案 > 将 pickadate 与 laravel mix 一起使用时未定义默认值 $.extend($.fn.pickadate.defaults, {... .

问题描述

我尝试混合使用 jquery 和 pickadate,但它说 defalts 未定义,尽管它已经被准确定义。

应用程序.js

let $, jQuery;
jQuery = window.$ = window.jQuery = $ = require('jquery/dist/jquery.min');
require([
 'pickadate/lib/picker',
 'pickadate/lib/picker.date',
 'pickadate/lib/picker.time'
]);
require('my.js');

webpack.mix.js

let mix = require('laravel-mix'); 

mix.js('resources/js/app.js', 'public/js/');

...

这就是它默认定义 picker.date.js 的方式

DatePicker.defaults = (function (prefix) {

    return {

        // The title label to use for the month nav buttons
        labelMonthNext: 'Next month',
        labelMonthPrev: 'Previous month',

        // The title label to use for the dropdown selectors
        labelMonthSelect: 'Select a month',
        labelYearSelect: 'Select a year',

        // Months and weekdays
        monthsFull: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'],
        monthsShort: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],
        weekdaysFull: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'],
        weekdaysShort: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],
        ...
        }
    }
})(Picker.klasses().picker + '__')
Picker.extend('pickadate', DatePicker)

这是未定义的默认值

$.extend($.fn.pickadate.defaults, {
  selectMonths: true, // Creates a dropdown to control month
  ...
});

jQuery 已加载,并且方法 $(...) 没有问题。

也许有人知道这件事^^。

我不知道为什么会发生这种情况,我希望我能在这里得到一个好的解决方案。

标签: laravel-mix

解决方案


抱歉,这是我的错,我应该使用 'jquery' 而不是 'jquery/dist/jquery.min' 来使用插件。


推荐阅读